2016-07-07 4 views
0

Ich habe 2 Datenrahmen und ich möchte df bekommen, wo in der ersten Datei habe ich eine Menge Daten und in der zweiten Datei habe ich eine Liste von iD, die ich von bekommen möchte erste Datei.Wie man Daten aus verschiedenen df mit Pandas

Ich benutze

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

wo chunk - ein Teil der ersten (große Datei). Und buys - Datei mit der Liste der id. In der Ausgabedatei habe ich ID, die nicht in buys. Was mache ich falsch?

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 

Und ich brauche

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

Können Sie Beispieldaten und die gewünschte Ausgabe posten? –

+0

@JoeR, fügen Sie Datenrahmen hinzu – ldevyataykina

+0

Fügen Sie 'how = left' zu' pd.merge' hinzu. – ytk

Antwort

0

IIUC Sie erhalten möchten Ihre zwei Datenrahmen fusionieren und halten nur die id in buys ? Dann passieren Sie cann die how Option in Ihrem merge wie folgt aus:

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

Beachten Sie, dass, wenn es id in buys, die nicht in chunk.ID werden Sie NaN erhalten, wo die entsprechenden Termine fehlen. Wenn Sie nicht wollen, dass, ändern Sie die how Option inner:

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

Auf diese Weise werden Sie nur die Zeilen erhalten, die in beiden Datenrahmen vorhanden sind.

Verwandte Themen