renumber index how from python pandas duplicate-removal

python - how - restart index pandas dataframe



La forma más rápida de eliminar un índice duplicado en un DataFrame de Pandas (3)

Esta pregunta ya tiene una respuesta aquí:

Si quiero eliminar un índice duplicado en un marco de datos, lo siguiente no funciona por razones obvias:

myDF.drop_duplicates(cols=index)

y

myDF.drop_duplicates(cols=''index'')

busca una columna llamada ''index''

Si quiero soltar un índice tengo que hacer:

myDF[''index''] = myDF.index myDF= myDF.drop_duplicates(cols=''index'') myDF.set_index = myDF[''index''] myDF= myDF.drop(''index'', axis =1)

¿Hay alguna forma más eficiente?


El método ''duplicado'' funciona para marcos de datos y para series. Simplemente seleccione en aquellas filas que no están marcadas como que tienen un índice duplicado:

df[~df.index.duplicated()]


Puede usar numpy.unique para obtener el índice de valores únicos y usar iloc para obtener esos índices:

>>> df val A 0.021372 B 1.229482 D -1.571025 D -0.110083 C 0.547076 B -0.824754 A -1.378705 B -0.234095 C -1.559653 B -0.531421 [10 rows x 1 columns] >>> idx = np.unique(df.index, return_index=True)[1] >>> df.iloc[idx] val A 0.021372 B 1.229482 C 0.547076 D -1.571025 [4 rows x 1 columns]


Simplemente: DF.groupby(DF.index).first()