Pandas Dataframes:大量的dict值,打印方式?

时间:2013-11-29 02:22:37

标签: python dictionary pandas

我正在尝试将填充了大量数据的默认字典转换为pandas数据帧。当字典中的#值很小(比如十)时,我会得到类似的结果:

       Obama Romney      dates
    0   47.5   41.5  2/01/2011
    1   47.5   41.5  2/02/2011
    2   47.5   41.5  2/03/2011
    3   47.5   41.5  2/04/2011
    4   47.5   41.5  2/05/2011
    5   47.5   41.5  2/06/2011
    6   46.4   42.0  2/07/2011
    7   46.4   42.0  2/08/2011
    8   46.7   42.7  2/09/2011
    9   46.7   42.7  2/10/2011
    10  47.3   42.0  2/11/2011

当我尝试打印数据帧时 - 这就是我想要的。但当项目为100或更多时,我只是得到一个摘要:

    <class 'pandas.core.frame.DataFrame'>
    Int64Index: 652 entries, 0 to 651
    Data columns (total 3 columns):
    Obama     652  non-null values
    Romney    652  non-null values
    dates     652  non-null values
    dtypes: object(3)

有没有办法像之前为10个项目那样打印值?

2 个答案:

答案 0 :(得分:3)

查看set_option功能:

import pandas as pd

pd.set_option('max_rows', 150)

答案 1 :(得分:1)

你想要head,它会查看前n行(默认情况下n = 5):

In [11]: df.head()  # equivalent to df.head(5)
Out[11]: 
   Obama  Romney      dates
0   47.5    41.5  2/01/2011
1   47.5    41.5  2/02/2011
2   47.5    41.5  2/03/2011
3   47.5    41.5  2/04/2011
4   47.5    41.5  2/05/2011
对于最后n行,

或其相反的tail

请注意,这是令人困惑的:it's changing in 0.13。这是master / dev中的当前行为:

In [21]: pd.concat([df] * 100)  # 100 copies of df
Out[21]: 
    Obama  Romney      dates
0    47.5    41.5  2/01/2011
1    47.5    41.5  2/02/2011
2    47.5    41.5  2/03/2011
# ommiting a load of lines here
# which make it up to 100 (pd.options.display.max_rows)
3    47.5    41.5  2/04/2011
4    47.5    41.5  2/05/2011
      ...     ...        ...

[1100 rows x 3 columns]