【发布时间】:2026-02-15 02:15:02
【问题描述】:
我有 2 个要合并在一起的数据框。
Df1 :销售数据框,仅包含已售产品。如果不卖,就不存在。 2019/2020/2021 年第 1 周到第 53 周
Year Week Store Article Sales Volume
2019 11 SF sku1 500
2021 16 NY sku2 20
2020 53 PA sku1 500
2021 01 NY sku3 200
2019 11 SF sku1 455
2021 16 NY sku2 20
df2: 是一个股票数据框。整个产品系列,即使没有出售,它也会出现。仅在 2019/2020/2021 年每个 ALL 产品的第 16 周有库存
Year Week Store Article Stock Volume
2019 16 SF sku1 500
2021 16 NY sku2 20
2020 16 PA sku4 500
2021 16 NY sku5 200
2019 16 SF sku65 455
2021 16 NY sku2000 20
...
我试图通过这样做来合并两个 dfs(我想获得所有文章,但缺点是我失去了其他几周):
merged = pd.merge(df1,df2, how = "right", right_on=["Article ID", "Year ID", "Week ID", "Store ID"], left_on=["Article", "Year", "Week", "Store"])
但我只获得了与第 16 周股票相关的销售价值,而其他周我都输了。
所以我尝试了左连接
merged = pd.merge(df1,df2, how = "left", right_on=["Article ID", "Year ID", "Week ID", "Store ID"], left_on=["Article", "Year", "Week", "Store"])
现在我有所有的星期,但我缺少一些产品库存
我需要保留 df2 的所有产品,同时还要保留 df1 数周的销售量。 有没有办法通过保持整个库存深度和整个销售周来合并两个 dfs?
感谢您的帮助!!
【问题讨论】:
标签: python pandas dataframe join merge