gpt4 book ai didi

python - Pandas ,在 lambda 中进行比较

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

我有一个函数,它返回具有多个唯一值 <= 100 的 pandas 数据框列的名称:

cols_unique = list(df[cols].loc[:, df[cols].apply(lambda x: x.nunique()) <= 100])

我想将其更改为返回列名,其中唯一值的数量 <= 值总数的 50%,我的尝试:

cols_unique = list(df[cols].loc[:, df[cols].apply(lambda x: x.nunique() <= x.count()/2]))

但这行不通。

如何在 lambda 函数中进行比较?

最佳答案

IIUC 你可以试试:

cols_unique = list(df[cols].loc[:, df[cols].apply(lambda x: x.nunique() <= len(df) / 2)])

如果您对不使用 lambda 函数的替代方案持开放态度,您可以尝试:

 list(cols[df[cols].nunique().le(len(df) // 2)])

关于python - Pandas ,在 lambda 中进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818775/

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