比较数据框中的两列,如果值不相同,则从另一列中给出特定值

2024-03-29 02:14:39 发布

您现在位置:Python中文网/ 问答频道 /正文

example

我想比较第3列和第1列。 如果值相同,则返回第_2列中的值;如果不返回,则搜索第_1列中的相同值,并返回第_2列中的值。输出应该类似于第4列

谢谢你的帮助


1条回答
网友
1楼 · 发布于 2024-03-29 02:14:39

您可以使用带有来自column_1的键和column_2中相应值的字典,将一个序列映射函数应用于column_3。然后,这将作为column_3中值的查找,并创建一个新列column_4

import pandas as pd

df = pd.DataFrame({'column_1':[5,6,7,8,9], 
                   'column_2':[435,345,765,876,987], 
                   'column_3':[5,6,7,5,6]})

df['column_4'] = df['column_3'].map({k:v for k,v in zip(df['column_1'],df['column_2'])})


#    column_1   column_2    column_3    column_4
# 0    5          435          5          435
# 1    6          345          6          345
# 2    7          765          7          765
# 3    8          876          5          435
# 4    9          987          6          345

相关问题 更多 >