我怎么合并两个dataframes一起
问题描述:
我的第一个数据帧具有不同列,其中的一个包含ID列和我的第二个数据帧具有不同列,其中的一个包含没有让我找到了两者之间的联系。不过,我怎么能联系在一起,这些用数字来从数据帧2邮政编码信息分配到正确的做法在数据帧1我怎么合并两个dataframes一起
任何帮助将不胜感激!
日期框1
ID place Items Cost
0 5 10 2001.00
1 12 2 20.98
2 2 4 100.80
3 7 7 199.60
数据帧2
ID No Dr Postcode
0 1 Dr.K BT94 7HX
1 5 Dr.H BT7 4MC
2 3 Dr.Love BT9 1HE
3 7 Dr.Kerr BT72 4TX
我想创建一个数据帧1的新列 '邮政编码' 和邮政编码分配到正确的实践
ID Place Items Cost Postcode
0 5 10 BT7 4MC
1 2 3 BT9 1HE
2 22 8 BT62 4TU
3 7 7 BT72 4TX
我怎样才能做到这一点?
答
IIUC,我认为你所追求的是 'left_on' 什么,在合并 'right_on' 参数:
df1.merge(df2, left_on='Practice', right_on='Prac No')
输出:
ID_x Practice Items Cost ID_y Prac No Dr Postcode
0 0 5 10 2001.0 1 5 Dr.H BT7 4MC
1 3 7 7 199.6 3 7 Dr.Kerr BT72 4TX
或者另一种方法是使用和map
:
df1['Postcode'] = df1['Practice'].map(df2.set_index('Prac No')['Postcode'])
df1
输出:
ID Practice Items Cost Postcode
0 0 5 10 2001.00 BT7 4MC
1 1 12 2 20.98 NaN
2 2 2 4 100.80 NaN
3 3 7 7 199.60 BT72 4TX
哈利,你能不能样本数据添加到您的问题与预期输出一起? –
@ScottBoston我已经加入进一步的细节我probkem,有这方面的帮助将是非常美妙 – Harry