gpt4 book ai didi

python - pandas 中是否有相当于 python 内置函数 `all` 的函数?

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:59 25 4
gpt4 key购买 nike

我正在像这样查询 pandas 数据框 df

df = df[
(df.value1 >= threshold1) &
(df.value2 >= threshold2) &
(df.value3.isin(list3))
]

Python 有内置函数 all ,它允许这种语法:

if all([
value1 > threshold1,
value2 > threshold2,
value3 in list3,
]):

取而代之的是:

if (
value1 > threshold1 and
value2 > threshold2 and
value3 in list3,
):

Pandas 有没有类似于Python 中的all 的东西?谢谢。

此外,这是根据多个条件对 Pandas 数据帧进行子集化的最快方法吗?

最佳答案

@juanpa.arrivillaga已经很好地解释了 Pandas 中的 bool 索引。

我想给你一个更好的选择 - DataFrame.query()方法:

df.query("value1 > @threshold1 and value2 > @threshold2 and value3 in @list3")

演示:

In [138]: df = pd.DataFrame(np.random.randint(1, 10, (10, 3)),
columns=['value1','value2','value3'])

In [139]: df
Out[139]:
value1 value2 value3
0 7 9 1
1 4 1 3
2 3 8 8
3 2 8 9
4 9 2 7
5 5 8 9
6 4 2 9
7 7 2 5
8 6 3 5
9 9 1 5

In [140]: threshold1 = 2

In [141]: threshold2 = 4

In [142]: list3 = [1,9]

In [143]: df.query("value1 > @threshold1 and value2 > @threshold2 and value3 in @list3")
Out[143]:
value1 value2 value3
0 7 9 1
5 5 8 9

关于python - pandas 中是否有相当于 python 内置函数 `all` 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43104309/

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