您如何根据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%空)将是一种有效的方法吗?
谢谢!
答案 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]]