resample datetimeindex date_range python pandas timestamp time-series

python - datetimeindex - pandas timedelta



EliminaciĆ³n de filas del horario de verano desde un dataframe indexado en tiempo (2)

no necesitas un bucle, prueba este:

df.drop (df.index [hrsDSTadjust])

He escrito la siguiente función para eliminar las filas del horario de verano en un marco de datos de pandas, ya que no todas las columnas tienen datos para la hora de cambio:

def hrsDSTdelete (df): import pandas as pd hrsDSTadjust = [''2000-03-26 02:00:00'', ... ''2012-03-25 02:00:00'', ''2013-03-31 02:00:00''] for DSTvalue in hrsDSTadjust: if DSTvalue in df.index : df = df.drop(pd.Timestamp(DSTvalue)) print ''DST hour: '', DSTvalue, " deleted!" return df pass

Como esto parece funcionar al eliminar filas individuales, aparece el siguiente mensaje de error al intentar hacerlo con este ciclo:

exceptions.TypeError: el objeto ''Timestamp'' no es iterable

Lo he intentado también con

df = df.ix[DSTvalue].drop

pero esto no parece eliminar la fila en el marco de datos. ¿Alguien ha tenido una idea de lo que estoy haciendo mal?


El problema es que drop toma una labels argumento similar a una matriz , y solo le está pasando una marca de tiempo. Debería poder usar una lista de comprensión en lugar de su loop también:

indices = [pd.Timestamp(DSTvalue) for DSTValue in hrsDSTadjust if DSTvalue in df.index] df = df.drop(indices)