【发布时间】:2020-09-20 20:18:51
【问题描述】:
我有两个数据框 df1 和 df2。两者都有第一列 common SKUCode=SKU
df1:
df2:
如果 SKUCode 与 df2 中的 SKU 匹配,我想更新 df1 并设置 SKUStatus=0。
如果来自 df2 的 SKU 与 SKUCode 不匹配,我想向 df1 添加新行。
所以 df1 操作后如下所示:
我可以做到这一点的一种方法是通过 df2.iterrows() 并循环遍历值,但是我认为必须有另一种巧妙的方法来做到这一点? 谢谢
import pandas as pdx
df1=pdx.DataFrame({'SKUCode':['A','B','C','D'],'ListPrice':[1798,2997,1798,999],'SalePrice':[1798,2997,1798,999],'SKUStatus':[1,1,1,0],'CostPrice':[500,773,525,300]})
df2=pdx.DataFrame({'SKUCode':['X','Y','B'],'Status':[0,0,0],'e_date':['31-05-2020','01-06-2020','01-06-2020']})
df1.merge(df2,left_on='SKUCode')
【问题讨论】:
-
如果您可以添加示例输入数据而不是屏幕主机,那将是很好的,它将允许我们重新生成问题。
-
@Sushanth 刚刚添加了代码