Python 如何将多个记录映射到一个唯一id
我有两个具有共同唯一ID的数据集(在第二个数据帧中重复) 我想映射每个ID的所有记录Python 如何将多个记录映射到一个唯一id,python,pandas,Python,Pandas,我有两个具有共同唯一ID的数据集(在第二个数据帧中重复) 我想映射每个ID的所有记录 df1 id 1 2 3 4 5 df2 id col1 1 mango 2 melon 1 straw 3 banana 3 papaya 我想把它弄出来 df1 id col1 1 mango straw 2 melon 3
df1
id
1
2
3
4
5
df2
id col1
1 mango
2 melon
1 straw
3 banana
3 papaya
我想把它弄出来
df1
id col1
1 mango
straw
2 melon
3 banana
papaya
4 not available
5 not available
提前感谢您正在寻找一个外部:
你想做一个户外运动:
希望得到一些关于否决票的反馈!不确定我是否误解了这个问题,或者这是否是OP问题合理的糟糕解决方案?对我来说似乎很好,事实上,我打算发布一个类似的答案。目前尚不清楚OP希望如何处理重复项,可能是
.groupby('id')['col1']。应用(列表)
?(可选地,使用.to_frame()
)@AaronN.Brock,是的,这可能是有意义的,尽管在OP的想要的输出中,每个都有重复项,并且都有自己的行。希望得到一些关于否决票的反馈!不确定我是否误解了这个问题,或者这是否是OP问题合理的糟糕解决方案?对我来说似乎很好,事实上,我打算发布一个类似的答案。目前尚不清楚OP希望如何处理重复项,可能是.groupby('id')['col1']。应用(列表)
?(可选地,使用.to_frame()
)@AaronN.Brock,是的,这可能是有意义的,尽管在OP想要的输出中,每个都有重复的行。在输出df1
中id
值有什么?它也是1
?或者mango
和straw
在列表中?还是发生了其他事情?df1
输出中的id
值是什么?它也是1
?或者mango
和straw
在列表中?还是发生了什么事?
df1 = df1.merge(df2, how='outer').set_index('id').fillna('not available')
>>> df1
col1
id
1 mango
1 straw
2 melon
3 banana
3 papaya
4 not available
5 not available