gpt4 book ai didi

python - Pandas groupby 其中一个组值在一个范围内

转载 作者:行者123 更新时间:2023-12-04 00:51:02 24 4
gpt4 key购买 nike

我想找到至少有一行 0.5 < C < 1.0 的组的大小.给定这样的数据框:

<表类="s-表"><头>ABC<正文>120.1120.9121.0250250.1250.2340.6

我希望看到类似以下内容的返回:

<表类="s-表"><头>AB尺寸<正文>123341

我试过以下方法:

group = dataset.groupby(['A', 'B'])
filtered = group.filter(lambda x: 0.5 < x['C'] < 1.0)
filtered.size()

但是,我在第二行收到此错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

any()函数在这种情况下有意义,因为我想要 C任何值介于 0.5 和 1.0 之间以便计算该组,但我不知道将 any() 放在哪里称呼。我试着在 lambda 上调用它。我在 filter() 之后尝试过.我尝试的任何东西都不起作用...

最佳答案

df["tmp"] = (df["C"] > 0.5) & (df["C"] < 1.0)
g = df.groupby(["A", "B"])
print(g.size()[g["tmp"].sum() > 0])

打印:

A  B
1 2 3
3 4 1
dtype: int64

关于python - Pandas groupby 其中一个组值在一个范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66645921/

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