我是python的新手,我正在尝试根据唯一值计数从数据框中过滤出列。 我想创建一列唯一值等于3的列的列表。 下面是我的代码:
cols=objects_ds.apply(pd.Series.nunique) ==3
这为我提供了一个布尔值(真/假)的数据框,如下所示:
A FALSE
B FALSE
C TRUE
D TRUE
E TRUE
F FALSE
我希望我的输出如下:
cols=['C','D','E']
但是我不确定如何根据布尔值提取列名。 请帮忙!
谢谢
答案 0 :(得分:1)
您无需在此处申请
df.columns[(df.nunique()==3)].tolist()
答案 1 :(得分:0)
假设df
是您的数据框:
ser = df.nunique() == 3
ser[ser.values].index