gpt4 book ai didi

python - 如何将一列从另一个数据帧连接到特定列?

转载 作者:行者123 更新时间:2023-12-01 01:26:27 25 4
gpt4 key购买 nike

我有两个数据框:

  • 数据 1:(product_id,...)
  • 数据 2:(产品 ID、产品类别、...)

它们都有不同的列和不同的形状。但我需要将product_category连接到Data-1相应的product_id上。

有什么快速的方法可以实现这一点吗?谢谢。

最佳答案

给定 df1 是带有产品 ID 和额外列的 df:

df1 = pd.DataFrame({
'p_id': {0:1, 1:2, 2:3, 3:4},
'p1_extra': {0:'x', 1:'x', 2:'x', 3:'x', 4:'x'}
})

df2 是您的 df,包含产品 ID、描述和额外列:

df2 = pd.DataFrame({
'p_id': {0:1, 1:2, 2:3, 3:4, 4:5},
'p_desc': {0:'a',1:'b',2:'c',3:'d',4:'e'},
'p2_unwanted': {0:'x', 1:'x', 2:'x', 3:'x', 4:'x'}
})

根据我的理解,您只想将 product_descriptiondf2 加入到 df1,显然将其与正确的 product_id 对齐

在这种情况下,要以将产品描述附加到 df1 的方式将两者结合起来,您只需使用 pandas merge() 功能即可

df_merged = df1.merge(df2[['p_id', 'p_desc']],  how='left', on='p_id')

how 子句很重要,具体取决于您想要实现的目标,在本例中 left 保留 df1 中的所有数据,并且仅添加product_description 如果存在,则为 NULL 值。如果您只想维护也具有 product_description 的值,那么您可以调用 inner。与 SQL 语法相同。

关于python - 如何将一列从另一个数据帧连接到特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53296872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com