下面我列出了代码。我有数据框a,其中有很多列,我试图从数据框a中查询'国家'两列'等级'的子集到我的新数据框中。为什么这个代码不起作用?数据帧子集
df= a['Rank', 'Country']
如果我使用
df=a['Rank']
它工作正常。
下面我列出了代码。我有数据框a,其中有很多列,我试图从数据框a中查询'国家'两列'等级'的子集到我的新数据框中。为什么这个代码不起作用?数据帧子集
df= a['Rank', 'Country']
如果我使用
df=a['Rank']
它工作正常。
需要另一个[]
:
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
谢谢你的帮助! –
很高兴能帮到你!如果我的回答很有帮助,请不要忘记[接受](http://meta.stackexchange.com/a/5235/295067)它。谢谢。 – jezrael
看一看他们的文档:HTTP://pandas.pydata。 org/pandas-docs/stable/indexing.html#basics 这应该回答你的问题。 – holzkohlengrill