1

read_csv在 Pandas 中使用方法来输入多个 .csv 文件。我打印出返回的对象read_csv,并对输出中的差异感到好奇:

例如,一份打印输出是:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 10 entries, 0 to 9
Data columns (total 5 columns):
col_1           10  non-null values
col_2           10  non-null values
col_3           10  non-null values
col_4           10  non-null values
col_5           10  non-null values
dtypes: int64(5)

而另一个很简单:

   col_a  col_b  col_c  col_d  col_e  col_f
0      1      1      1 183227      1 181913
1      2      1      1 183234      1 183003
... 

我应该如何解释这些输出的差异?为什么第二个文件不会产生DataFrame对象?

4

2 回答 2

3

它们都是 DataFrame。如果输出的长度超过几行,Pandas 会以第一种格式显示摘要信息,这样它就不会填满你的屏幕。

如果想要完整显示,可以使用.to_string()DataFrame 上的方法。也就是说,如果df, 是您的 DataFrame,您可以print df.to_string()查看所有数据,即使它很长。

于 2013-10-06T21:44:16.220 回答
3

在这两种情况下,read_csv都返回一个 DataFrame。但是,当您打印 DataFrame 时,__str__会调用其方法,并且此方法可能会根据其尺寸(列、行和总宽度)选择不同的 DataFrame 表示。

默认情况下,Pandas 最多显示 20 列和 60 行。如果 DataFrame 超出这些维度,则它使用汇总格式,例如

<class 'pandas.core.frame.DataFrame'>
Int64Index: 10 entries, 0 to 9
Data columns (total 5 columns):
col_1           10  non-null values
col_2           10  non-null values
col_3           10  non-null values
col_4           10  non-null values
col_5           10  non-null values
dtypes: int64(5)

要显示完整的 DataFrame,您可以更改display.max_columnsdisplay.max_rowsdisplay.width选项:

import pandas as pd
pd.set_option('display.max_columns', 30)
pd.set_option('display.max_rows', 100)    
pd.set_option('display.width', 120)
于 2013-10-06T21:45:30.950 回答