为什么pandas数据帧成员的repr是如此冗长?

时间:2018-03-26 14:52:37

标签: python pandas

尝试以下方法:

>>>import pandas as pd
>>>df=pd.DataFrame([pd.Series(range(100))]*100)
>>> df.tail
<bound method NDFrame.tail of     0   1   2   3   4   5   6   7   8   9  ...  90  91  92  93  94  95  96  \
0    0   1   2   3   4   5   6   7   8   9 ...  90  91  92  93  94  95  96   
1    0   1   2   3   4   5   6   7   8   9 ...  90  91  92  93  94  95  96  
...

仅绑定方法的表示是127行并重复所有数据:

>>> len(repr(df.tail).split('\n'))
127

我不知道为什么例如repr(df.tail)包含数据的副本。这听起来毫无意义。 如果您运行以下脚本:

import pandas as pd
df=pd.DataFrame([pd.Series(range(100))]*100)
count = 0
for i in dir(df):
    s = repr(getattr(df, i))
    count += len(s.split('\n'))
print(count)

你会看到所有df成员的repr是53317行!

有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:0)

使用以下选项,dataframe成员的repr不包含帧数据。

$varmap['local_var_1'] = ('local_name' => 'local_var_1', 'api_name' => 'api_var_1);
$varmap['local_var_2'] = ('local_name' => 'local_var_2', 'api_name' => 'api_var_2);