错误阅读熊猫表

时间:2016-01-18 20:12:26

标签: python pandas dataframe

我正在使用以下代码阅读包含569 rows125 columns的df:

df = pd.read_csv('data', header = None, sep = '\s+')

df.info()的输出是:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 569 entries, 0 to 568
Columns: 125 entries, 0 to 124
dtypes: float64(123), int64(2)
memory usage: 560.1 KB

df的输出是:

0             1    2        3          4         5
0      0  0.000000e+00  773  19.7205  25.944920  0.205061  
1      1  1.000000e+00  772  19.7205  25.944920  0.205061
2      2  2.100000e+00  748  19.7205  25.944920  0.205061
3      3  3.310000e+00  763  19.7205  25.944920  0.205061
...
568  568  1.010799e+10  697  19.7205  25.524932  0.199651

当我写print df['X.1'] print df['1']时,我收到了错误消息:

KeyError: 'X.1'

KeyError: '1'

有人可以向我解释为什么我收到错误吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

IIUC您需要致电df[1],因为您的列是整数。您可以检查它是否使用索引的df.columns调用dtype。 如果你有这样的东西,你需要像整数一样调用:

In [214]: df.columns
Out[214]: Int64Index([1, 2, 3, 4, 5], dtype='int64')

In [215]: df[1]
Out[215]: 
0    0.00
1    1.00
2    2.10
3    3.31
Name: 1, dtype: float64

如果列名为str,则需要致电df['1']

In [216]: df.columns = map(str, range(1,6))

In [218]: df.columns
Out[218]: Index(['1', '2', '3', '4', '5'], dtype='object')

In [219]: df['1']
Out[219]: 
0    0.00
1    1.00
2    2.10
3    3.31
Name: 1, dtype: float64