如何在 pandas 中使用“and”运算符(附示例)


您可以在 pandas 中使用符号&作为“AND”运算符。

例如,您可以使用以下基本语法来过滤 pandas DataFrame 中满足条件 12 的行:

 df[(condition1) & (condition2)]

以下示例展示了如何在不同场景中使用“AND”运算符。

示例1:在Pandas中使用“AND”运算符根据数值过滤行

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 to 25 5 11
1 to 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

我们可以使用以下语法来过滤 DataFrame 中的点列中的值大于 20并且辅助列中的值等于 9 的行:

 #filter rows where points > 20 and assists = 9
df[(df. points > 20) & (df. assists == 9)]

        team points assists rebounds
5 B 23 9 5
6 C 25 9 9

返回的唯一行是那些得分值大于 20并且助攻值等于 9 的行。

示例2:在Pandas中使用“AND”运算符根据字符串值过滤行

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' position ': ['G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'],
                   ' conference ': ['W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'],
                   ' points ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team position conference points
0 AGW 11
1 BGW 8
2 CFW 10
3DFW 6
4 ECE 6
5 FFE 5
6 GCE 9
7 HCE 12

我们可以使用以下语法来过滤 DataFrame 中位置列中的值等于 G会议列中的值等于 W 的行:

 #filter rows based on string values
df[(df. position == ' G ') & (df. conference == ' W ') ]

team position conference points
0 A G W 11
1 B G W 8

返回的唯一行是位置列等于 G会议列等于 W 的行。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何在 Pandas 中使用“OR”运算符
如何按日期过滤 Pandas DataFrame 行
如何按列值过滤 Pandas DataFrame

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注