Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将多个记录映射到一个唯一id_Python_Pandas - Fatal编程技术网

Python 如何将多个记录映射到一个唯一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

我有两个具有共同唯一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   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