Ich habe zwei Datenrahmen mit den folgenden Spaltennamen:
frame_1:
event_id, date, time, county_ID
frame_2:
countyid, state
Ich möchte einen Datenrahmen mit den folgenden Spalten erhalten, indem ich (links) auf county_ID = countyid
:
joined_dataframe
event_id, date, time, county, state
Ich kann nicht herausfinden, wie es geht, wenn die Spalten, denen ich beitreten möchte, nicht der Index sind. Was ist der einfachste Weg? Vielen Dank!
right_index=True
.frame_1
bereitscounty_ID
als Index undframe_2
bereitscountyid
als Index? Ich verstehe , kann ich Ersatzframe_1.reset_index()
fürframe_1
(und gleiche gilt fürframe_2
) in Ihrer Antwort. Aber gibt es eine effizientere Möglichkeit zum Beitreten / Zusammenführen, ohne den Index zurückzusetzen?Sie müssen
county_ID
als Index für den richtigen Frame erstellen:frame_2.join ( frame_1.set_index( [ 'county_ID' ], verify_integrity=True ), on=[ 'countyid' ], how='left' )
Zu Ihrer Information: Bei Pandas wird der linke Join unterbrochen, wenn der rechte Frame nicht eindeutige Werte in der Join-Spalte enthält. siehe diesen Fehler .
Sie müssen also die Integrität überprüfen, bevor Sie Mitglied werden
, verify_integrity=True
quelle