以下是一个比较两个pandas数据框并根据条件替换值的示例代码:
import pandas as pd
# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50]})
df2 = pd.DataFrame({'A': [1, 2, 5],
'B': [100, 200, 500]})
# 使用merge函数将两个数据框合并,根据'A'列进行比较
merged_df = pd.merge(df1, df2, on='A', how='left')
# 替换条件满足的值
merged_df.loc[merged_df['B_x'] > merged_df['B_y'], 'B_x'] = merged_df['B_y']
# 删除多余的列
merged_df = merged_df.drop('B_y', axis=1)
# 重命名列
merged_df = merged_df.rename(columns={'B_x': 'B'})
print(merged_df)
这段代码使用merge函数将两个数据框按照'A'列进行合并。然后,使用.loc函数选择满足条件的行,并替换值。最后,删除多余的列,并重命名列名。
上一篇:比较两个pandas数据框