根据Pandas中的列值选择数据框列

时间:2017-12-04 06:26:20

标签: pandas

我的数据框架如下:

A  B  C  D  ....  Y   Z
0  5  12 14       4   2
3  6  15 10       1   30
2  10 20 12       5   15

我想创建另一个只包含平均值大于10的列的数据框:

C  D  .... Z
12 14      2
15 10      30
20 12      15

1 个答案:

答案 0 :(得分:1)

使用:

df = df.loc[:, df.mean() > 10]
print (df)
    C   D   Z
0  12  14   2
1  15  10  30
2  20  12  15

详情:

print (df.mean())
A     1.666667
B     7.000000
C    15.666667
D    12.000000
Y     3.333333
Z    15.666667
dtype: float64

print (df.mean() > 10)
A    False
B    False
C     True
D     True
Y    False
Z     True
dtype: bool

替代:

print (df[df.columns[df.mean() > 10]])
    C   D   Z
0  12  14   2
1  15  10  30
2  20  12  15

详情:

print (df.columns[df.mean() > 10])
Index(['C', 'D', 'Z'], dtype='object')