如何比较 pandas 中的三列(附示例)


您可以使用以下基本语法来比较 pandas 中三列的值:

 df[' all_matching '] = df. apply ( lambda x: x.col1 == x.col2 == x.col3 , axis = 1 )

此语法创建一个名为all_matching的新列,如果所有列都有匹配值,则返回True ,否则返回False

以下示例展示了如何在实践中使用此语法。

示例:比较 Pandas 中的三列

假设我们有以下包含三列的 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7, 9, 12],
                   ' B ': [4, 2, 3, 5, 6, 4, 7, 7, 12],
                   ' C ': [4, 0, 3, 5, 5, 10, 7, 9, 12]})

#view DataFrame
print (df)

    ABC
0 4 4 4
1 0 2 0
2 3 3 3
3 3 5 5
4 6 6 5
5 8 4 10
6 7 7 7
7 9 7 9
8 12 12 12

我们可以使用以下代码创建一个名为all_matching的新列,如果给定行中所有三列都匹配,则返回True ,否则返回False

 #create new column that displays whether or not all column values match
df[' all_matching '] = df. apply ( lambda x: x. A == x. B == x. C , axis = 1 )

#view updated DataFrame
print (df)

    ABC all_matching
0 4 4 4 True
1 0 2 0 False
2 3 3 3 True
3 3 5 5 False
4 6 6 5 False
5 8 4 10 False
6 7 7 7 True
7 9 7 9 False
8 12 12 12 True

名为all_matching的新列指示给定行中三列中的值是否匹配。

例如:

  • 第一行中所有三个值都匹配,因此返回True
  • 第二行中并非所有值都匹配,因此返回False

等等。

其他资源

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

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

添加评论

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