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中rater1和rater2列的值相等的行:
#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
请注意,仅选择miss1和miss2相等的行。
如果我们只是想计算有多少行在rater1和rater2列中具有相同的值,我们也可以使用len()函数:
#count the number of rows where rater1 is equal to rater2 len ( df.query (' rater1 ==rater2 ')) 4
这告诉我们有4行的miss1和miss2列的值相等。
示例 2:选择两列不相等的行
我们可以使用以下语法来仅选择DataFrame中rater1和rater2列的值不相等的那些行:
#select rows where rater1 is not equal to rater2 df. query (' rater1 !=rater2 ') painting rater1 rater2 1 B Good Bad 3 D Bad Good
请注意,仅选择miss1和miss2不相等的行。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
如何重命名 Pandas 中的列
如何向 Pandas DataFrame 添加列
如何更改 Pandas DataFrame 中的列顺序