如何制作计数高于特定值的数据框?

时间:2019-05-16 13:58:35

标签: python pandas

我有一个如下所示的df:

df

      a   b   c   d
 0    1   0   0   1
 1    1   1   0   1
 2    0   1   1   1
 3    1   0   0   1

我尝试获取列数大于2的df,但是找不到解决方案。它应该看起来像这样:

     a    d
0    1    1
1    1    1
2    0    1
3    1    1

1 个答案:

答案 0 :(得分:2)

如果只有1,并且0的值与DataFrame.loc一起使用boolean indexing,则第一个:用于匹配所有行:

df = df.loc[:, df.sum() > 2]
print (df)
   a  d
0  1  1
1  1  1
2  0  1
3  1  1

详细信息

print (df.sum())
a    3
b    2
c    1
d    4
dtype: int64

print (df.sum() > 2)
a     True
b    False
c    False
d     True
dtype: bool

如果可能的话,其他值也只需计数1

df = df.loc[:, df.eq(1).sum() > 2]