2015-07-02 18 views
10

Vorrei estrarre un numero di settimana dai dati in un dataframe panda.conversione di una data di panda alla settimana numero

Il formato della data è datetime64 [ns]

Ho normalizzato la data per rimuovere il tempo da esso

df['Date'] = df['Date'].apply(pd.datetools.normalize_date) 

per cui la data ormai sembra - 2015/06/17 nella cornice di dati colonna

e ora mi piace convertirlo in un numero di settimana.

Grazie in anticipo

risposta

16

Basta accedere all'attributo dt settimana:

In [286]: 
df['Date'].dt.week 

Out[286]: 
0 25 
dtype: int64 

In [287]: 
df['Week_Number'] = df['Date'].dt.week 
df 

Out[287]: 
     Date Week_Number 
0 2015-06-17   25 
+0

Ottengo 'KeyError:' date'' – jacob

7

Ecco un'altra possibilità utilizza strftime

df['Week_Number'] = df['Date'].dt.strftime('%U') 

se si dispone di date da più anni, si raccomanda di creare un Combinazione Anno-Settimana

df['Year-Week'] = df['Date'].dt.strftime('%Y-%U') 
Problemi correlati