数据框子集

时间:2017-05-26 13:30:13

标签: python pandas numpy

下面我列出了代码。我有数据框a,其中有许多列我试图查询两列“Rank”&列的子集。 “国家”从数据框a到我的新数据框。为什么这段代码不起作用?

df= a['Rank', 'Country']

如果我使用

df=a['Rank']

工作正常。

1 个答案:

答案 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