Pandas:按行和列号从数据帧访问数据

时间:2015-03-29 22:05:51

标签: python pandas dataframe

我有一个简单的程序让我困惑。我从csv文件中读取了一个3 * 10数据,我希望通过行和列号访问特定数据。但它失败了,我不知道为什么。

matrix.txt:

1,2,3,4,5,6,7,8,9,10
11,12,13,14,15,16,17,18,19,20
21,22,23,24,25,26,27,28,29,30

程序:

datainput = pd.read_csv('matrix.txt',sep=',', header = None)

inputinfo = datainput.shape ==> 3, 10

print datainput[3][3] => failed,but it should return 23, 

如果列号等于或大于3

,我无法访问任何数据

1 个答案:

答案 0 :(得分:3)

索引从0开始:

In [8]:

df
Out[8]:
    0   1   2   3   4   5   6   7   8   9
0   1   2   3   4   5   6   7   8   9  10
1  11  12  13  14  15  16  17  18  19  20
2  21  22  23  24  25  26  27  28  29  30

In [11]:

df[2][2]
Out[11]:
23

由于您没有提供标题,因此会自动生成标题,并且对于索引,默认行为是生成从0开始的索引,如上所示。

你最后的陈述也不是真的:

In [13]:

df[3][2], df[5][2]
Out[13]:
(24, 26)

此处第一个下标值是列标签,后跟行标签。

以下引发了KeyError:

df[3][3]