E 'possibile reindicizzare un panda DataFrame
utilizzando una colonna composta da oggetti datetime?pandas reindex DataFrame con oggetti datetime
Ho un dataframe df
con le seguenti colonne:
Int64Index: 19610 entries, 0 to 19609
Data columns:
cntr 19610 non-null values #int
datflt 19610 non-null values #float
dtstamp 19610 non-null values #datetime object
DOYtimestamp 19610 non-null values #float
dtypes: int64(1), float64(2), object(1)
posso reindicizzare il df
facilmente lungo DOYtimestamp
con: df.reindex(index=df.dtstamp)
e DOYtimestamp
ha i seguenti valori:
>>> df['DOYtimestamp'].values
array([ 153.76252315, 153.76253472, 153.7625463 , ..., 153.98945602,
153.98946759, 153.98947917])
ma' mi piacerebbe reindicizzare il DataFrame lungo dtstamp
che è costituito da oggetti datetime in modo da generare timestam differenti ps direttamente dall'indice. La colonna dtstamp
ha valori che sembrano:
>>> df['dtstamp'].values
array([2012-06-02 18:18:02, 2012-06-02 18:18:03, 2012-06-02 18:18:04, ...,
2012-06-02 23:44:49, 2012-06-02 23:44:50, 2012-06-02 23:44:51],
dtype=object)
Quando provo e reindicizzare df
lungo dtstamp
ottengo il seguente:
>>> df.reindex(index=df.dtstamp)
TypeError: can't compare datetime.datetime to long
Sono solo, non sicuro di quello che ho bisogno di fare ottenere l'indice essere di un tipo datetime. qualche idea?
Grazie, fa esattamente quello di cui ho bisogno. In qualche modo non mi era chiaro che potessi assegnare una delle colonne all'indice. – BFTM
Puoi anche usare il metodo 'set_index' –