如何将数据帧附加到具有重复 ID 的数据帧 [重复]
Posted
技术标签:
【中文标题】如何将数据帧附加到具有重复 ID 的数据帧 [重复]【英文标题】:how append dataframe to dataframe with duplicate id [duplicate] 【发布时间】:2021-04-22 18:02:52 【问题描述】:我有一个数据框 df1
id Name City type
1 Anna Paris AB
2 Marc Rome D
3 erika madrid AC
和一个数据框 df2
id Name City type
1 Anna Paris B
和一个数据框 df3
id Name City type
1 Anna Paris C
我想将 df2 和 df3 附加到 df1 ,这是我的预期输出:
id Name City type
1 Anna Paris AB
2 Marc Rome D
3 erika madrid AC
1 Anna Paris B
1 Anna Paris C
df1 = df1.append(df2)
df1 = df1.append(df3)
但数据框只添加最后一行并删除具有相同 id 的其他行
id Name City type
2 Marc Rome D
3 erika madrid AC
1 Anna Paris C
我也在尝试连接
df1= pd.concat([df1,df2,df3], join='inner')
【问题讨论】:
所以你需要df1= pd.concat([df1,df2,df3])
?
您能发布您的预期输出吗?
【参考方案1】:
我认为pd.concat()
的问题在于您正在传递参数join = inner
。我希望这会起作用:
output = pd.concat([df1,df2,df3])
使用这个示例代码:
df1 = pd.DataFrame('Name':['Anna','Marc','erika'],
'City':['Paris','Rome','madrid'],
'Type':['AB','D','AC'])
df2 = pd.DataFrame('Name':['Anna'],
'City':['Paris'],
'Type':['B'])
df3 = pd.DataFrame('Name':['Anna'],
'City':['Paris'],
'Type':['C'])
pd.concat([df1,df2,df3])
它输出:
Name City Type
0 Anna Paris AB
1 Marc Rome D
2 erika madrid AC
0 Anna Paris B
0 Anna Paris C
【讨论】:
相同的输出,它只保留最后一行具有相同的id,奇怪!以上是关于如何将数据帧附加到具有重复 ID 的数据帧 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在另一个单独的数据帧中使用一个数据帧中的 id 抓取数据,该数据帧不具有相同的列名并将字符串附加到一个值