📅  最后修改于: 2023-12-03 15:33:24.068000             🧑  作者: Mango
在 Pandas 中,布尔索引是一种根据指定条件筛选数据的方法。它基于一组布尔值,通过对每个值应用相应的逻辑运算(如与、或、非等)从而得出符合特定条件的数据。
Pandas 常用的布尔运算符有三个:
&
(与):表示逻辑 “AND” 运算,返回两个条件同时成立的结果。
|
(或):表示逻辑 “OR” 运算,返回两个条件中至少有一个成立的结果。
~
(非):表示逻辑 “NOT” 运算,返回条件否定的结果。
下面通过一个例子来演示 Pandas 布尔索引的用法:
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M']})
# 使用布尔索引筛选年龄大于 30 的数据
selected_data = df[df.age > 30]
print(selected_data)
输出结果如下:
name age gender
2 Charlie 35 M
3 David 40 M
在这个例子中,我们创建了一个 DataFrame,包含名字、年龄和性别这三个列。我们使用布尔索引 df.age > 30
筛选出年龄大于 30 的行,并将其赋值给变量 selected_data。
我们也可以使用多个条件来筛选数据:
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M']})
# 使用布尔索引筛选性别为 'M',且年龄大于 30 的数据
selected_data = df[(df.gender == 'M') & (df.age > 30)]
print(selected_data)
这里我们同时使用了两个条件,一个筛选性别为 'M',一个筛选年龄大于 30。注意,这两个条件要使用 &
连接起来,表示要同时满足这两个条件。
输出结果如下:
name age gender
3 David 40 M
本文介绍了 Pandas 中布尔索引的用法和常用的布尔运算符。通过灵活运用布尔索引,我们能够轻松地实现数据筛选和过滤的功能,使得数据分析变得更为高效和简单。