columns python pandas

python - columns - pandas concat



Pandas column bind(cbind) dos cuadros de datos (1)

Tengo un df_a de df_a con información de identificación:

unique_id lacet_number 15 5570613 TLA-0138365 24 5025490 EMP-0138757 36 4354431 DXN-0025343

y otra trama de datos df_b , con el mismo número de filas que sé que corresponden a las filas en df_a :

latitude longitude 0 -93.193560 31.217029 1 -93.948082 35.360874 2 -103.131508 37.787609

Lo que quiero hacer es simplemente enlazar los dos y obtener:

unique_id lacet_number latitude longitude 0 5570613 TLA-0138365 -93.193560 31.217029 1 5025490 EMP-0138757 -93.948082 35.360874 2 4354431 DXN-0025343 -103.131508 37.787609

Lo que he intentado:

df_c = pd.concat([df_a, df_b], axis=1)

lo que me da una unión externa.

unique_id lacet_number latitude longitude 0 NaN NaN -93.193560 31.217029 1 NaN NaN -93.948082 35.360874 2 NaN NaN -103.131508 37.787609 15 5570613 TLA-0138365 NaN NaN 24 5025490 EMP-0138757 NaN NaN 36 4354431 DXN-0025343 NaN NaN

El problema es que los índices de los dos marcos de datos no coinciden. Leí la documentación para pandas.concat y vi que hay una opción "ignore_index". Pero eso solo se aplica al eje de concatenación, en mi caso las columnas y ciertamente no es la opción correcta para mí. Entonces mi pregunta es: ¿hay una manera simple de lograr esto?


Si está seguro de que los valores de la fila del índice son los mismos, para evitar el orden de alineación del índice, simplemente llame a reset_index() , esto restablecerá los valores de su índice para comenzar desde 0 :

df_c = pd.concat([df_a.reset_index(drop=True), df_b], axis=1)