下面我列出了代码。我有数据框a,其中有许多列我试图查询两列“Rank”&列的子集。 “国家”从数据框a到我的新数据框。为什么这段代码不起作用?
df= a['Rank', 'Country']
如果我使用
df=a['Rank']
工作正常。
答案 0 :(得分:3)
需要另一个[]
:
df= a[['Rank', 'Country']]
与此相同,但输入的次数较少:
df = a.loc[:, ['Rank', 'Country']]
样品:
a = pd.DataFrame({'Rank':[1,2,3],
'Country':[4,5,6],
'C':[7,8,9]})
print (a)
C Country Rank
0 7 4 1
1 8 5 2
2 9 6 3
df = a.loc[:, ['Rank', 'Country']]
print (df)
Rank Country
0 1 4
1 2 5
2 3 6
df = a[['Rank', 'Country']]
print (df)
Rank Country
0 1 4
1 2 5
2 3 6
您还可以查看docs:
您可以将列表列表传递到
[]
,以按顺序选择列。
同样,对于选择列到一列DataFrame
也使用[]
:
df = a[['Rank']]
print (df)
Rank
0 1
1 2
2 3
但Series
:
s = a['Rank']
print (s)
0 1
1 2
2 3
Name: Rank, dtype: int64