Pandas:选择两列相等的行


您可以使用以下方法来选择 pandas DataFrame 中两列相等(或不相等)的行:

方法一:选择两列相等的行

 df. query (' column1 ==column2 ')

方法2:选择两列不相等的行

 df. query (' column1 !=column2 ')

以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' painting ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' fail1 ': ['Good', 'Good', 'Bad', 'Bad', 'Good', 'Good'],
                   ' fail2 ': ['Good', 'Bad', 'Bad', 'Good', 'Good', 'Good']})

#view DataFrame
print (df)

  painting rater1 rater2
0 A Good Good
1 B Good Bad
2 C Bad Bad
3 D Bad Good
4 E Good Good
5 F Good Good

示例 1:选择两列相等的行

我们可以使用以下语法仅选择DataFrame中rater1rater2列的值相等的行:

 #select rows where rater1 is equal to rater2
df. query (' rater1 ==rater2 ')

 painting rater1 rater2
0 A Good Good
2 C Bad Bad
4 E Good Good
5 F Good Good

请注意,仅选择miss1miss2相等的行。

如果我们只是想计算有多少行在rater1rater2列中具有相同的值,我们也可以使用len()函数:

 #count the number of rows where rater1 is equal to rater2
len ( df.query (' rater1 ==rater2 '))

4

这告诉我们有4行的miss1miss2列的值相等。

示例 2:选择两列不相等的行

我们可以使用以下语法来仅选择DataFrame中rater1rater2列的值不相等的那些行:

 #select rows where rater1 is not equal to rater2
df. query (' rater1 !=rater2 ')

 painting rater1 rater2
1 B Good Bad
3 D Bad Good

请注意,仅选择miss1miss2不相等的行。

其他资源

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

如何重命名 Pandas 中的列
如何向 Pandas DataFrame 添加列
如何更改 Pandas DataFrame 中的列顺序

添加评论

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