【问题标题】:How to merge two dataframes in pandas having multiple values如何合并具有多个值的熊猫中的两个数据框
【发布时间】:2021-02-14 20:32:27
【问题描述】:

我有一个带有 2015-2019 年产品 ID 的销售数据框。我必须将它与包含给定产品 ID 的主题 ID 的 product_theme _list 合并。但是相同的产品 id 有不同的主题 id 可用。那么如何合并这两个数据框呢?

【问题讨论】:

  • 你尝试了什么?请考虑分享一个最小的示例,以便其他人可以帮助您。

标签: python pandas merge


【解决方案1】:

使用 pd.merge 将 2 个数据帧合并为一个数据帧,其中包含两者的所有信息。我希望这会有所帮助。

sales_data = {'product_id':['1','2','3','1','2','3']
,'supplier_part_num':['4711','1111','9999','4711','1111','9999']
,'year':['2018','2018','2018','2019','2019','2019']}

product_theme_list = {'product_id':['1','1','2','2','3','3']
,'theme_id':['77','88','99','22','44','55']}

df_themes = pd.DataFrame(product_theme_list)
df_sales = pd.DataFrame(sales_data)

merged_df = pd.merge(df_sales
,df_themes
,how='left'
,left_on='product_id'
,right_on='product_id'
,sort=True)

【讨论】:

  • 如果您这样做不会增加您在销售数据中的记录。相同的产品 id 将分配给两个主题 id,这会使我们的数据出错
猜你喜欢
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 2017-06-11
  • 2016-01-01
相关资源
最近更新 更多