我有一个简单的程序让我困惑。我从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
,我无法访问任何数据答案 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]