选择只有一个唯一值的pandas数据框列 [英] Select pandas dataframe columns which have only one unique value
本文介绍了选择只有一个唯一值的pandas数据框列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何有效选择只有1个唯一值的pandas数据框列?
How to effectively select pandas dataframe columns which have only 1 unique value?
我知道DataFrame和Series.nunique()
I'm aware of DataFrame and Series.nunique()
推荐答案
我认为需要 DataFrame.nunique
表示布尔掩码,然后按 boolean indexing
:
I think need DataFrame.nunique
for boolean mask and select by loc
with boolean indexing
:
df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1] * 6,
'E':[5,3,6,9,2,4],
'F':list('aaaaaa')})
print (df)
A B C D E F
0 a 4 7 1 5 a
1 b 5 8 1 3 a
2 c 4 9 1 6 a
3 d 5 4 1 9 a
4 e 5 2 1 2 a
5 f 4 3 1 4 a
df = df.loc[:, df.nunique() == 1]
#alternatives
#df = df.loc[:, df.apply(lambda x: x.nunique()) == 1]
#df = df.loc[:, df.apply(lambda x: len(x.unique())) == 1]
print (df)
D F
0 1 a
1 1 a
2 1 a
3 1 a
4 1 a
5 1 a
这篇关于选择只有一个唯一值的pandas数据框列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文