如何比较 pandas 中的两列:举例


通常,您可能想要比较 Pandas DataFrame 中的两列并将比较结果写入第三列。

您可以使用以下语法轻松完成此操作:

 conditions=[(condition1),(condition2)]
choices=[" choice1 "," choice2 "]

df[" new_column_name "]=np. select (conditions, choices, default)

这段代码的作用如下:

  • 条件是在两列之间检查的条件
  • choice是根据条件返回的结果
  • np.select用于返回新列中的结果

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

示例:比较 Pandas 中的两列

假设我们有以下 DataFrame,显示两支足球队在五场不同比赛中的进球数:

 import numpy as np
import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5],
                   ' B_points ': [4, 5, 2, 3, 2]})
             
#view DataFrame      
df

          A_points B_points
0 1 4
1 3 5
2 3 2
3 3 3
4 5 2

我们可以使用以下代码来比较每行的进球数,并在第三列中显示比赛获胜者:

 #define conditions
conditions = [df[' A_points '] > df[' B_points '], 
              df[' A_points '] < df[' B_points ']]

#define choices
choices = [' A ', ' B ']

#create new column in DataFrame that displays results of comparisons
df[' winner '] = np. select (conditions, choices, default=' Tie ')

#view the DataFrame
df

          A_points B_points winner
0 1 4 B
1 3 5 B
2 3 2 A
3 3 3 Tie
4 5 2 A

比较结果显示在名为Winner的新列中。

评论

比较 pandas DataFrame 中的两列时需要记住以下几点:

  • 条件选择的数量必须相等。
  • 默认值指定在不满足任何条件时要在新列中显示的值。
  • 此代码需要NumPyPandas才能运行。

其他资源

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

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

添加评论

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