我有以下场景。
表一
column_a column_b
1 10
2 20
3 30
4 40
表2
column_a new_column
1 10
2 20
3 30
5 0
如果 两个表中的 column_a 中的值匹配,新的_column 应该用表 1 column_b 中的相应值填充。如果不是,则应填充 0。
我可以在两个表上使用 iterrows 来做到这一点,但是有没有更好/更有效的方法?
谢谢。
最佳答案
map
+ fillna
df2['new_col'] = df2.column_a.map(df1.set_index('column_a').column_b).fillna(0)
print(df2)
column_a new_col
0 1 10.0
1 2 20.0
2 3 30.0
3 5 0.0
关于python - Pandas 检查多行并复制不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54937929/