python - inner - cómo combinar dos marcos de datos en pandas de pitón
unir dataframe python (4)
Creo que puedes usar el método de append
bigdata = data1.append(data2, ignore_index=True)
para mantener sus índices simplemente no use la palabra clave ignore_index
...
Estoy usando el marco de datos de python pandas, tengo un marco de datos inicial, por ejemplo, D. Extracto dos marcos de datos de este modo:
A = D[D.label == k]
B = D[D.label != k]
luego cambio la etiqueta en A y B:
A.label = 1
B.label = -1
Quiero combinar A y B para poder tenerlos como un solo marco de datos, algo así como la unión. El orden de los datos no es importante, sin embargo, cuando seleccionamos A y B de D, conservan sus índices de D.
Hay otra solución para el caso de que esté trabajando con Big Data y necesite concatenar múltiples conjuntos de datos. concat
puede obtener un alto rendimiento, por lo que si no quieres crear un df nuevo cada vez, puedes utilizar una lista de comprensión :
frames = [ process_file(f) for f in dataset_files ]
result = pd.append(frames)
(como se señala aquí en los documentos al final de la sección):
Nota : Vale la pena señalar, sin embargo, que
concat
(y, por lo tanto,append
) hace una copia completa de los datos, y que la reutilización constante de esta función puede crear un golpe de rendimiento significativo. Si necesita usar la operación en varios conjuntos de datos, use una lista de comprensión.
Pensé agregar esto aquí en caso de que alguien lo encuentre útil. @ostrokach ya mencionó cómo puedes unir los marcos de datos en las filas que es
df_row_merged = pd.concat([df_a, df_b], ignore_index=True)
Para combinar en columnas, puede usar la siguiente sintaxis:
df_col_merged =pd.concat([df_a, df_b], axis=1)
También puede usar pd.concat
, que es particularmente útil cuando se une a más de dos dataframes:
bigdata = pd.concat([data1, data2], ignore_index=True)