2016-07-07 7 views
0

私は2つのデータフレームを持っています。最初のファイルには多くのデータがあり、2番目のファイルにはiDのリストがあります。最初のファイル。パンダを使用して異なるdfのデータをマージする方法

私は

merged = pd.merge(buys, chunk, left_on='id', right_on='ID') 

どこchunk使用 - 最初の(大きな)ファイルの一部を。そしてbuys - リストがidのファイル。出力ファイルにはIDがあり、それはbuysにはありません。 私は間違っていますか?

buys

id 
7602962fb83ac2e2a0cb44158ca88464 
bc8a731e4c7e6f6b96e56ebe7f766bcd 
a703114aa8a03495c3e042647212fa63 
77138e9245857e5449e9474293e31e19 

chunk

id date 
7602962fb83ac2e2a0cb44158ca88464 01.01.2016 
7602962fb83ac2e2a0cb44158ca88464 02.01.2016 
7602962fb83ac2e2a0cb44158ca88464 03.01.2016 
77138e9245857e5449e9474293e31e19 09.05.2016 
77138e9245857e5449e9474293e31e19 10.05.2016 
671cfd6702c74f017209c2f1a888c279 10.01.2016 
671cfd6702c74f017209c2f1a888c279 11.01.2016 
029cfd6702c68f243423c2f1a234c232 11.03.2016 

そして、私はあなたの2つのデータフレームをマージしたいとちょうどbuysid存在を維持

7602962fb83ac2e2a0cb44158ca88464 01.01.2016 
7602962fb83ac2e2a0cb44158ca88464 02.01.2016 
7602962fb83ac2e2a0cb44158ca88464 03.01.2016 
77138e9245857e5449e9474293e31e19 09.05.2016 
77138e9245857e5449e9474293e31e19 10.05.2016 
+1

サンプルデータと出力を投稿できますか? –

+0

@JoeR、dataframesを追加する – ldevyataykina

+0

'how = left'を' pd.merge'に追加します。 – ytk

答えて

0

IIUCを取得する必要があります? chunk.IDにないbuysidがある場合は、該当する日付が欠落しているNaNを取得すること

merged = pd.merge(buys, chunk, left_on='id', right_on='ID', how = 'left') 

注:その後、キャン、このようなあなたのmergehowオプションを渡します。あなたはそれをしたくない場合は、innerhowオプションを変更:

merged = pd.merge(buys, chunk, left_on='id', right_on='ID', how = 'inner') 

この方法であなただけの両方のデータフレーム内に存在している行を取得します。

関連する問題