gpt4 book ai didi

python - 如何使用方法链从 pandas DataFrame 中删除行?

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

pandas 有类似 dplyr 的 filter() 操作吗?基本上,我希望能够根据谓词删除行。

我当然可以做 df = df[condition],但这不像方法链那样很好地组合。

最佳答案

使用query

考虑数据框 df

df = pd.DataFrame(
np.random.randint(-5, 6, (10, 10)),
columns=list('ABCDEFGHIJ'))

df

A B C D E F G H I J
0 0 4 -1 1 -3 -1 -4 -5 -1 2
1 -4 2 -1 0 5 -1 1 -3 1 4
2 3 -2 3 -2 -4 5 1 1 0 -2
3 1 4 -5 4 -3 -3 -3 -3 -4 4
4 -3 4 4 5 -2 -3 -1 3 3 -1
5 0 0 -1 -1 2 2 5 -4 -1 -1
6 -2 1 2 0 -1 -1 1 0 4 -4
7 5 2 5 2 3 2 3 -3 1 1
8 -2 -5 1 4 0 -1 4 4 -5 3
9 -3 -2 -5 0 -5 -2 -2 2 0 -1

您可以轻松地根据过滤条件进行流水线操作

df.query('A < 0')

A B C D E F G H I J
1 -4 2 -1 0 5 -1 1 -3 1 4
4 -3 4 4 5 -2 -3 -1 3 3 -1
6 -2 1 2 0 -1 -1 1 0 4 -4
8 -2 -5 1 4 0 -1 4 4 -5 3
9 -3 -2 -5 0 -5 -2 -2 2 0 -1

你可以包含多个条件

df.query('A < 0 & B < -1')

A B C D E F G H I J
8 -2 -5 1 4 0 -1 4 4 -5 3
9 -3 -2 -5 0 -5 -2 -2 2 0 -1

你可以做很多很酷的事情

df.query('-3 < A < 3 & H * J > 0')

A B C D E F G H I J
5 0 0 -1 -1 2 2 5 -4 -1 -1
8 -2 -5 1 4 0 -1 4 4 -5 3

所有这些都作为数据框返回以启用下一个操作

关于python - 如何使用方法链从 pandas DataFrame 中删除行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42007401/

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