我有两个数据帧要合并成一个。这个
main_id
框架包含唯一ID的列表。这个
ref_data
框架包含有关中对象的一些数据
main\u id
。有些ID被引用了两次,有些只被引用了一次,所以我想我需要一对多的连接。我想捕获
period
值及其对应
quantity
,带有一些识别后缀,将两者联系起来。我已经查看了关于merge的pandas文档,但没有真正看到提到这个用例的内容。感谢您的帮助。
实例
main\u id框架:
main_id = pd.DataFrame(data = [123,456,789], columns=['id'])
main_id
Out[109]:
id
0 123
1 456
2 789
ref\u数据框:
ref_data = pd.DataFrame()
ref_data['main_id'] = main_id['id'].append(main_id['id'].loc[1:])
ref_data = ref_data.reset_index(drop=True)
ref_data['period'] = ['24hr', 'Day', 'Day', 'Night', 'Night']
ref_data['quantity'] = [3,4,6,5,2]
ref_data
Out[111]:
main_id period quantity
0 123 24hr 3
1 456 Day 4
2 789 Day 6
3 456 Night 5
4 789 Night 2
所需输出:
Out[112]:
id period_1_ref period_1_val period_2_ref period_2_val
0 123 24hr 3 NaN NaN
1 456 Day 4 Night 5.0
2 789 Day 6 Night 2.0