gpt4 book ai didi

python - 按 Pandas 中值的百分位数过滤列

转载 作者:行者123 更新时间:2023-11-28 22:25:38 25 4
gpt4 key购买 nike

我想过滤掉 pandas 中具有“许多”零值的列。过滤包含“全零值”的列并不难,但我想做的是过滤包含“多个零值”的列,例如超过 75% 的列值。

数据集(A 有 4 个值的 3 个零,占列值的 75%。)

A B C
0 0 0
0 0 1
0 1 2
1 2 3

结果

B C
0 0
0 1
1 2
2 3

有什么建议吗?

最佳答案

您可以使用 mean boolean mask , 其中True值转换为 1 , 然后反转条件 - >=<用于过滤具有较少 mean 的所有列作为0.75 :

print ((df == 0).mean())
a 0.75
b 0.50
c 0.25
dtype: float64

print ((df == 0).mean() < 0.75)
a False
b True
c True
dtype: bool

df = df.loc[:, (df == 0).mean() < 0.75]
print (df)
b c
0 0 1
1 0 1
2 1 0
3 1 1

关于python - 按 Pandas 中值的百分位数过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388811/

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