根据内容上的条件选择列

时间:2019-05-08 21:19:25

标签: python pandas

您如何根据isna()或std devs等条件选择列和列名?如果我有一个像

这样的数据框
    A    B    C    D
0   1    2    3    4
1   5   NaN   3    2 
2   9    8    7    6
3   9   NaN   3    3

,并希望它返回类似['A', 'B']的内容,其中'A'超出某个标准偏差,而'B'超出某个NaN阈值(即> = 50%空)将是一种有效的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

尝试:

std_thresh = 3
nan_thresh = 0.5
summary = df.describe()
flags = (summary.loc['std'].ge(std_thresh) | 
         summary.loc['count'].le(nan_thresh*len(df)))

df[df.columns[flags]]