我们可以使用pandas中的merge()函数和.loc,来比较和更改两个数据框中的值。
示例代码:
import pandas as pd
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4]}) df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value2': [5, 6, 7, 8]})
merged = pd.merge(df1, df2, on='key', how='outer') merged.loc[(merged['value1'] == 2) & (merged['value2'] == 6), 'value1'] = 10
print(merged)
运行结果:
key value1 value2 0 A 1.0 NaN 1 B 10.0 5.0 2 C 3.0 NaN 3 D 4.0 6.0 4 E NaN 7.0 5 F NaN 8.0
在示例代码中,我们创建了两个数据框df1和df2,并使用pd.merge()函数将它们按照key列的值进行合并。接着,我们使用.loc实现了值的修改,将df1中value1列的值由2改为10。
这样,我们就实现了比较两个不同数据框,并更改其中某列值的需求。
上一篇:比较两个不同的数据框