如何比较 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 中的两列时需要记住以下几点:
- 条件和选择的数量必须相等。
- 默认值指定在不满足任何条件时要在新列中显示的值。
- 此代码需要NumPy和Pandas才能运行。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
如何重命名 Pandas 中的列
如何向 Pandas DataFrame 添加列
如何更改 Pandas DataFrame 中的列顺序