我有一个名为 data
的数据框,我只需要列 A
和 B
的第一行。
我做了data.loc[0,[data['A'],data['B']]])
但给出了错误-没有...... .在[索引]
我做错了什么?
最佳答案
使用默认 RangeIndex
的列名称列表 DataFrame.loc
,0
中索引的第一个值:
data = pd.DataFrame({'A':[4,5,4],
'B':[7,2,3],
'C':[1,1,0],
'D':[5,3,6],
'E':list('fgh')})
print (data)
A B C D E
0 4 7 1 5 f
1 5 2 1 3 g
2 4 3 0 6 h
s = data.loc[0,['A','B']]
print (s)
A 4
B 7
Name: 0, dtype: object
a = data.loc[0,'A']
print (a)
4
b = data.loc[0,'B']
print (b)
7
对于非默认唯一的索引
,可以通过使用df.index[0]
索引来选择第一个值:
data = pd.DataFrame({'A':[4,5,4],
'B':[7,2,3],
'C':[1,1,0],
'D':[5,3,6],
'E':list('fgh')}, index=list('abc'))
print (data)
A B C D E
a 4 7 1 5 f
b 5 2 1 3 g
c 4 3 0 6 h
s = data.loc[data.index[0],['A','B']]
print (s)
A 4
B 7
Name: a, dtype: object
a = data.loc[data.index[0],'A']
print (a)
4
b = data.loc[data.index[0],'B']
print (b)
7
对于不唯一的索引
值,按 iloc
按位置选择和 Index.get_indexer
或通过 Index.get_loc
:
data = pd.DataFrame({'A':[4,5,4],
'B':[7,2,3],
'C':[1,1,0],
'D':[5,3,6],
'E':list('fgh')}, index=[0,0,0])
print (data)
A B C D E
0 4 7 1 5 f
0 5 2 1 3 g
0 4 3 0 6 h
s = data.iloc[0, data.columns.get_indexer(['A','B'])]
print (s)
A 4
B 7
Name: 0, dtype: object
a = data.iloc[0, data.columns.get_loc('A')]
print (a)
4
b = data.iloc[0, data.columns.get_loc('B')]
print (b)
7
关于python - 第一行的选定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815119/