Tengo dos marcos de datos con los siguientes nombres de columna:
frame_1:
event_id, date, time, county_ID
frame_2:
countyid, state
Me gustaría obtener un marco de datos con las siguientes columnas uniéndome (izquierda) en county_ID = countyid
:
joined_dataframe
event_id, date, time, county, state
No puedo averiguar cómo hacerlo si las columnas a las que quiero unirme no son el índice. ¿Cuál es la forma más fácil? ¡Gracias!
right_index=True
.frame_1
ya tienecounty_ID
como índice, yframe_2
ya tienecountyid
como índice? Entiendo que puedo sustituirframe_1.reset_index()
porframe_1
(y lo mismo paraframe_2
) en su respuesta. Pero, ¿hay una forma más eficiente de unirse / fusionar sin restablecer el índice?necesita hacer
county_ID
como índice para el marco derecho:frame_2.join ( frame_1.set_index( [ 'county_ID' ], verify_integrity=True ), on=[ 'countyid' ], how='left' )
para su información, en pandas la unión izquierda se rompe cuando el marco derecho tiene valores no únicos en la columna de unión. ver este error .
por lo que debe verificar la integridad antes de unirse
, verify_integrity=True
fuente