我想找到至少有一行满足
我希望返回类似下面的结果:
我尝试了以下方法:
然而,第二行出现了以下错误:
``` ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). ```
在此上下文中,
0.5 < C < 1.0
的分组大小。给定这样的一个数据框:
A | B | C |
---|---|---|
1 | 2 | 0.1 |
1 | 2 | 0.9 |
1 | 2 | 1.0 |
2 | 5 | 0 |
2 | 5 | 0.1 |
2 | 5 | 0.2 |
3 | 4 | 0.6 |
A | B | Size |
---|---|---|
1 | 2 | 3 |
3 | 4 | 1 |
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()
之后调用它,但我尝试的所有方法都无效。
0.5 < C < 1.0
的行?我想要所有其组中至少有一行满足0.5 < C < 1.0
的行。 - at.<=
,则可以使用.between()
。因此,df["C"].between(0.5, 1, inclusive=False)
。 - smci