gpt4 book ai didi

python - 根据多列条件过滤 DataFrame

转载 作者:行者123 更新时间:2023-12-01 05:10:21 25 4
gpt4 key购买 nike

如何使用“and”过滤数据框?换句话说,如果我有一个名为 m 的数据框,并且它具有 a、b、c、d、e 列,我将如何返回 b 列中的值大于 120 且 c 列中的值大于 7.3 的所有行?

我尝试了这个,但出现错误:

print(m[m['b'] >120, m['c'] ==7.3])

最佳答案

要扩展 GoBrewers14 的答案,您需要用括号括起来,以克服 python 中运算符的求值顺序。

例如,下一条语句失败:

In [3]: 1 > 0 & 'a' < 'b'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-5d58a7b0bade> in <module>()
----> 1 1 > 0 & 'a' < 'b'

TypeError: unsupported operand type(s) for &: 'int' and 'str'

因为 python 首先计算 0 和 'a'。这就是为什么您需要用括号将语句括起来才能有意义:

In [4]: (1 > 0) & ('a' < 'b')
Out[4]: True

简而言之,您正在寻找:

m[(m['b'] > 120) & (m['c'] == 7.3)]

关于python - 根据多列条件过滤 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347012/

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