【问题标题】:python pandas datetime index resamplepython pandas datetime index resample
【发布时间】:2017-03-22 01:36:55
【问题描述】:

我有一个数据框 edf,我将 DATESENT 转换为我的日期时间索引,然后我想按周对其进行旋转。

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

如果理解正确 resample('w') 会导致从 2014-01-06(星期一)到 2014-01-12(星期日)的时间段?

有没有办法改变它,让它从 2014 年 1 月 5 日(星期日)变为 2014 年 1 月 11 日(星期六)? (换句话说,财政周)?

此外,现在 sum() 将所有列相加。有没有办法使用重采样函数来汇总销售额和平均流量?

谢谢

【问题讨论】:

    标签: python pandas datetime


    【解决方案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'])
    

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

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      相关资源
      最近更新 更多