python - nombre - añadir dos marcos de datos con pandas
filtrar datos pandas (2)
Cuando intento fusionar dos cuadros de datos por filas haciendo:
bigdata = data1.append(data2)
Obtuve el siguiente error:
Exception: Index cannot contain duplicate values!
El índice del primer marco de datos comienza de 0 a 38 y el segundo de 0 a 48. No entendí que tengo que modificar el índice de uno de los marcos de datos antes de fusionar, pero no sé cómo hacerlo. .
Gracias.
Estos son los dos marcos de datos:
data1
:
meta particle ratio area type
0 2 part10 1.348 0.8365 touching
1 2 part18 1.558 0.8244 single
2 2 part2 1.893 0.894 single
3 2 part37 0.6695 1.005 single
....clip...
36 2 part23 1.051 0.8781 single
37 2 part3 80.54 0.9714 nuclei
38 2 part34 1.071 0.9337 single
data2
:
meta particle ratio area type
0 3 part10 0.4756 1.025 single
1 3 part18 0.04387 1.232 dusts
2 3 part2 1.132 0.8927 single
...clip...
46 3 part46 13.71 1.001 nuclei
47 3 part3 0.7439 0.9038 single
48 3 part34 0.4349 0.9956 single
La primera columna es el índice.
La función de ignore_index
tiene un argumento opcional ignore_index
que debe usar aquí para unir los registros, ya que el índice no es significativo para su aplicación.
Primero, puede identificar la fila de índice duplicado (no valor) utilizando el método groupby
, y luego hacer una operación de suma / media en todas las filas con el índice duplicado.
data1 = data1.groupby(data1.index).sum()
data2 = data2.groupby(data2.index).sum()