2012-07-10 25 views
5

Estoy tratando de soltar la última fila en un dataframe creado por pandas en python y parece que está teniendo problemas.soltando una fila en pandas con índices de fechas, python

index = DateRange('1/1/2000', periods=8) 
df = DataFrame(randn(8, 3), index=index, columns=['A', 'B', 'C']) 

He probado el método de la gota de esta manera:

df.drop([shape(df)[0]-1], axis = 0) 

pero sigue diciendo que la etiqueta no contenida en el eje.

También traté de colocarme por nombre de índice y todavía no parece estar funcionando.

Cualquier consejo sería apreciado. ¡¡¡Gracias!!!

Respuesta

11
df.ix[:-1] 

devuelve el DataFrame original con la última fila eliminada.

+0

Thanks !! Sabía que era algo simple, pero no pude resolverlo. – user1504276

+8

Extrañamente, esto no pareció funcionar para mí (recuadro de datos vacío devuelto). Esto sí que lo hizo: df.ix [: len (df) -2] – Carl

+0

@Carl Creo que la razón por la cual len (df) -2 funcionó para usted es porque probablemente tenga un índice entero de cero a len (df), por lo tanto usted especificó su valor de índice. – kirbo

11

Haciendo referencia al DataFrame directamente para recuperar todo menos el último índice trabajado para mí.

df[:-1] 
+0

¡Gracias! 'df.ix [: - 1]' parece darme un DataFrame vacío. Pero tu solución funcionó. – ashimashi

+0

Lo mismo aquí, gracias. Obtuve un DataFrame vacío con la respuesta de @ eumiro. – Winterflags

Cuestiones relacionadas