【发布时间】:2021-11-12 13:10:08
【问题描述】:
您好,有人可以帮忙,如何在不使用删除重复项功能的情况下合并以下 2 个表。
import pandas as pd
df = pd.DataFrame({'ID' : [1,2,3], 'product' : ['Phone','Car','Bike']})
df2 = pd.DataFrame({'ID2':[1,1,1,2,2,3,3,3], 'price' : [30,50,30,50,50,20,60,40], 'location' : ['aa','bb','cc','dd', 'ee','tt','hh','yy']})
ID product
0 1 Phone
1 2 Car
2 3 Bike
ID2 price location
0 1 30 aa
1 1 50 bb
2 1 30 cc
3 2 50 dd
4 2 50 ee
5 3 20 tt
6 3 60 hh
7 3 40 yy
我想得到的结果:
df3 = pd.DataFrame({'ID' : [1,'', '',2, '', 3, '',''], 'product' : ['Phone','', '','Car','','Bike', '',''],
'ID2':[1,1,1,2,2,3,3,3], 'price' : [30,50,30,50,50,20,60,40], 'location' : ['aa','bb','cc','dd', 'ee','tt','hh','yy']})
ID product ID2 price location
0 1 Phone 1 30 aa
1 1 50 bb
2 1 30 cc
3 2 Car 2 50 dd
4 2 50 ee
5 3 Bike 3 20 tt
6 3 60 hh
7 3 40 yy
【问题讨论】:
-
你的意思是
df2.merge(df, left_on="ID2", right_on="ID").set_index(["ID", "product", "ID2"])吗? -
@Andrej Kesely 工作,谢谢
标签: python pandas dataframe join merge