index iloc data columns python indexing pandas dataframe

python - iloc - reset index pandas



¿Cómo restablecer el índice en un marco de datos pandas? (3)

Tengo un marco de datos del que quito algunas filas. Como resultado, obtengo un marco de datos en el que el índice es algo así: [1,5,6,10,11] y me gustaría restablecerlo a [0,1,2,3,4] . ¿Cómo puedo hacerlo?

Lo siguiente parece funcionar:

df = df.reset_index() del df[''index'']

Lo siguiente no funciona:

df = df.reindex()


Otras soluciones son asignar RangeIndex o range :

df.index = pd.RangeIndex(len(df.index)) df.index = range(len(df.index))

Es mas rapido:

df = pd.DataFrame({''a'':[8,7], ''c'':[2,4]}, index=[7,8]) df = pd.concat([df]*10000) print (df.head()) In [298]: %timeit df1 = df.reset_index(drop=True) The slowest run took 7.26 times longer than the fastest. This could mean that an intermediate result is being cached. 10000 loops, best of 3: 105 µs per loop In [299]: %timeit df.index = pd.RangeIndex(len(df.index)) The slowest run took 15.05 times longer than the fastest. This could mean that an intermediate result is being cached. 100000 loops, best of 3: 7.84 µs per loop In [300]: %timeit df.index = range(len(df.index)) The slowest run took 7.10 times longer than the fastest. This could mean that an intermediate result is being cached. 100000 loops, best of 3: 14.2 µs per loop


reset_index() es lo que estás buscando. Si no quieres que se guarde como una columna, entonces haz:

df = df.reset_index(drop=True)


data1.reset_index(inplace=False)