Kann man sich eine LEFT JOIN in Pandas durchführen, die auf der rechten Seite nur das erste Spiel wählt? Beispiel:Kann man sich eine LEFT JOIN in Pandas durchführen, die auf der rechten Seite nur das erste Spiel wählt?
left = pd.DataFrame()
left['age'] = [11, 12]
right = pd.DataFrame()
right['age'] = [10, 11, 11]
right['salary'] = [ 100, 150, 200 ]
left.merge(right, how='left', on='age')
Returns
age salary
0 11 100
1 11 200
2 12 NaN
Aber was würde ich ist wie die Anzahl der Zeilen von links zu bewahren, indem lediglich das erste Spiel nehmen. Das heißt:
age salary
0 11 100
2 12 NaN
Also habe ich
left.merge(right.drop_duplicates(['age']), how='left', on='age')
mit, aber ich glaube, dass dies eine vollständige Kopie der rechten macht. Und es riecht komisch.
Gibt es einen eleganteren Weg?
Dies würde unkompliziert als Option '' merge'' hinzuzufügen, wird aber zur Zeit nicht umgesetzt. – Jeff
Danke Jeff. Ich werde es anfordern. Wird die Frage hier, falls jemand verlassen kann mir zeigen, wie die Kopie (oder Nebeneffekt) zu vermeiden, in der Zwischenzeit. – Quant