gpt4 book ai didi

python计数数据框列值满足条件

转载 作者:行者123 更新时间:2023-11-30 22:14:23 24 4
gpt4 key购买 nike

什么是更优雅的写作方式:

df[df['income'] > 0].count()['income']

我想简单地计算满足条件的列值的数量(在本例中,条件只是大于零,但我想要一种适用于任何任意条件或条件集的方法)。如果列名不需要在表达式中出现两次,显然会更优雅。希望应该很容易。

最佳答案

df = pd.DataFrame([0, 30000, 75000, -300, 23000], columns=['income'])
print(df)
income
0 0
1 30000
2 75000
3 -300
4 23000

如果您想要计算列中满足比正数稍微复杂的条件的值(例如“值在 5000 到 25000 的范围内”),您可以使用两种方法。

首先,使用 bool 索引,

((df['income'] > 5000) & (df['income'] < 25000)).sum()

其次,对系列的每一行应用一个函数,

df['income'].map(lambda x: 5000 < x < 25000).sum()

请注意,第二种方法允许任意复杂的条件,但比第一种方法慢得多,第一种方法在底层数组上使用低级操作。请参阅documentation on boolean indexing了解更多信息。

关于python计数数据框列值满足条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50539880/

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