2017-03-21 2 views
0

Ich habe ein Dataframe edf, wo ich DATESENT in mein datetimeindex umwandle und dann will ich es um Woche drehen.python pandas datetime index resample

edf = pd.read_csv('C:\Users\j~\raw.csv', parse_dates=[6]) 
edf2 = edf[['DATESENT','Sales','Traffic]].copy() 
edf2['DATESENT']=pd.to_datetime(edf2['DATESENT'],format='%m/%d/%Y') 
edf2 = edf2.set_index(pd.DatetimeIndex(edf2['DATESENT'])) 
edf2.resample('w').sum() 
edf2 

      SALES 
DATESENT  
2014-01-05 476 
2014-01-12 67876 

Wenn das richtig verstanden Resampling (‚w‘) führt zu einer Zeitperiode von 2014.01.06 (Montag) bis 2014.01.12 (Sonntag)?

Gibt es eine Möglichkeit, es zu ändern, so dass es von 2014-01-05 (Sonntag) bis 2014-01-11 (Samstag) gehen würde? (mit anderen Worten, Steuerwochen)?

Auch, jetzt die Summe(), summiert alle Spalten. Gibt es eine Möglichkeit, Umsätze und durchschnittlichen Traffic mit der Resample-Funktion zu summieren?

Danke

Antwort

1
df = pd.DataFrame({'Date':pd.date_range(start='2014-01-01', end='2014-01-31', step=1),'sales':np.random.randint(31),'traffic':np.random.randint(31)}) 
df = df.set_index('Date') 

#Change the week start day to Monday. 
df.resample('W-MON').agg(['sum']) 

oder

#Change the week start day to Sunday 
df.resample('W-SUN').agg(['sum']) 
Verwandte Themen