📅  最后修改于: 2023-12-03 14:55:56.655000             🧑  作者: Mango
在 Pandas 中,我们可以方便地进行多列的比较,找出符合某个条件的数据。比较操作通常返回一个布尔型的 DataFrame。
Pandas 中支持的比较符号有:
>
大于<
小于>=
大于等于<=
小于等于==
等于!=
不等于我们首先来看一下如何比较单个列。比如我们有以下的 DataFrame:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
输出:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40
如果我们想找出年龄大于等于 30 的人,可以这样做:
df['age'] >= 30
输出:
0 False
1 True
2 True
3 True
Name: age, dtype: bool
需要注意的是,这里返回的是一个 Series,而不是 DataFrame。要想得到一个 DataFrame,可以使用 loc:
df.loc[df['age'] >= 30]
输出:
name age
1 Bob 30
2 Charlie 35
3 David 40
如果我们想要比较多个列,只需要在条件中加上多个列的比较即可。比如,我们有以下的 DataFrame:
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)
输出:
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
3 David 40 M
如果我们想要找出年龄大于等于 30,性别为男的人,可以这样做:
df.loc[(df['age'] >= 30) & (df['gender'] == 'M')]
输出:
name age gender
1 Bob 30 M
2 Charlie 35 M
3 David 40 M
需要注意的是,在多个条件之间可以用 &
(and)、|
(or)和 ~
(not)进行组合,条件之间需要用括号括起来。
在 Pandas 中,我们可以方便地进行多列的比较操作,找出符合某个条件的数据。使用简单的比较符号,结合逻辑运算符,可以尽情发挥自己的想象力,进行各种各样的比较操作。