2017-11-11 9 views
0

私の最初のデータフレームにはさまざまな列があり、そのうちの1つにID列があり、2番目のデータフレームにはさまざまな列があります。しかし、データフレーム2の郵便番号情報をデータフレーム1の正しい練習に割り当てる番号を使用してこれらのデータをリンクするにはどうすればよいですか。2つのデータフレームを一緒に結合するには

何か助けていただければ幸いです!

日付枠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 
に郵便番号を割り当てます

どうすればいいですか?

+1

ハリー、予想される出力とともにサンプルデータを質問に追加できますか? –

+0

@ScottBoston私は私のprobkemに詳細を追加しました。これについての助言は素晴らしいでしょう。 – Harry

答えて

1

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 
関連する問題