Mam dwie ramki danych z następującymi nazwami kolumn:
frame_1:
event_id, date, time, county_ID
frame_2:
countyid, state
Chciałbym uzyskać ramkę danych z następującymi kolumnami, dołączając (po lewej) na county_ID = countyid
:
joined_dataframe
event_id, date, time, county, state
Nie wiem, jak to zrobić, jeśli kolumny, do których chcę dołączyć, nie są indeksami. Jaki jest najłatwiejszy sposób? Dzięki!
right_index=True
.frame_1
już macounty_ID
jako indeks iframe_2
ma jużcountyid
jako indeks? Rozumiem mogę podstawićframe_1.reset_index()
doframe_1
(i takie same dlaframe_2
) w swojej odpowiedzi. Ale czy istnieje wydajniejszy sposób dołączania / łączenia bez resetowania indeksu?musisz zrobić
county_ID
jako indeks dla prawej ramki:frame_2.join ( frame_1.set_index( [ 'county_ID' ], verify_integrity=True ), on=[ 'countyid' ], how='left' )
dla twojej informacji, w pandach lewe sprzężenie przerywa się, gdy prawa ramka ma nieunikalne wartości w łączącej kolumnie. zobacz ten błąd .
więc musisz zweryfikować integralność przed dołączeniem przez
, verify_integrity=True
źródło