从pandas中的系列中选择值

时间:2016-09-19 14:52:53

标签: python pandas select dataframe multiple-columns

我有一个数据集D,其中包含来自[A - Z]的列共26列。我做了一些测试,并在S系列中了解哪些是有用的专栏。

D #Dataset with columns from A - Z
S 
B  0.78
C  1.04
H  2.38

S有列和与之关联的值,所以我现在知道它们的重要性,并且只想保留数据集中的那些列,例如(BCD ) 我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用的IIUC:

cols = ['B','C','D']
df = df[cols]

或者,如果列名称在Series中作为值:

S = pd.Series(['B','C','D'])
df = df[S]

样品:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

S = pd.Series(['B','C','D'])
print (S)
0    B
1    C
2    D
dtype: object

print (df[S])
   B  C  D
0  4  7  1
1  5  8  3
2  6  9  5

index值:

S = pd.Series([1,2,3], index=['B','C','D'])
print (S)
B    1
C    2
D    3
dtype: int64

print (df[S.index])
   B  C  D
0  4  7  1
1  5  8  3
2  6  9  5