gpt4 book ai didi

python - 仅选择最多具有 N 个唯一值的列

转载 作者:太空宇宙 更新时间:2023-11-04 09:28:08 25 4
gpt4 key购买 nike

我想计算每列中唯一值的数量,并只选择那些唯一值少于 32 个的列。

我试过使用 df.filter(nunique<32)

df[[ c for df.columns in df if c in c.nunique<32]] 

但是因为 nunique 是一种方法而不是函数,所以它们不起作用。认为 len(set() 会起作用并尝试过

df.apply(lambda x : len(set(x))

但效果不佳。有什么想法吗?提前致谢!

最佳答案

nunique 可以在整个DataFrame上调用(你必须调用它)。然后,您可以使用 loc 过滤掉列:

df.loc[:, df.nunique() < 32]

最小可验证示例

df = pd.DataFrame({'A': list('abbcde'), 'B': list('ababab')})
df
A B
0 a a
1 b b
2 b a
3 c b
4 d a
5 e b

df.nunique()
A 5
B 2
dtype: int64

df.loc[:, df.nunique() < 3]
B
0 a
1 b
2 a
3 b
4 a
5 b

关于python - 仅选择最多具有 N 个唯一值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56740611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com