为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中按天汇总时间序列数据?resample.sum()无效

如何在Python中按天汇总时间序列数据?resample.sum()无效

繁星coding 2021-04-02 10:11:44
我是Python的新手。如何根据日期对数据求和并绘制结果?我有一个带有数据的Series对象:2017-11-03 07:30:00      NaN2017-11-03 09:18:00      NaN2017-11-03 10:00:00      NaN2017-11-03 11:08:00      NaN2017-11-03 14:39:00      NaN2017-11-03 14:53:00      NaN2017-11-03 15:00:00      NaN2017-11-03 16:00:00      NaN2017-11-03 17:03:00      NaN2017-11-03 17:42:00    800.02017-11-04 07:27:00    600.02017-11-04 10:10:00      NaN2017-11-04 11:48:00      NaN2017-11-04 12:58:00    500.02017-11-04 13:40:00      NaN2017-11-04 15:15:00      NaN2017-11-04 16:21:00      NaN2017-11-04 17:37:00    500.02017-11-04 21:37:00      NaN2017-11-05 03:00:00      NaN2017-11-05 06:30:00      NaN2017-11-05 07:19:00      NaN2017-11-05 08:31:00    200.02017-11-05 09:31:00    500.02017-11-05 12:03:00      NaN2017-11-05 12:25:00    200.02017-11-05 13:11:00    500.02017-11-05 16:31:00      NaN2017-11-05 19:00:00    500.02017-11-06 08:08:00      NaN我有以下代码:# load packagesimport pandas as pdimport matplotlib.pyplot as plt# import painkiller datadf = pd.read_csv('/Users/user/Documents/health/PainOverTime.csv',delimiter=',')# plot bar graph of date and painkiller amounttimes = pd.to_datetime(df.loc[:,'Time'])ts = pd.Series(df.loc[:,'acetaminophen'].values, index = times,               name = 'Painkiller over Time')ts.plot()这给了我下面的line(?)图:这是一个开始;现在我想按日期对剂量求和。但是,此代码无法实现任何更改:结果图相同。怎么了?ts.resample('D',closed='left', label='right').sum()ts.plot()我也试过ts.resample('D').sum(),ts.resample('1d').sum(),ts.resample('1D').sum(),但在剧情没有变化。是.resample即使正确的功能?我理解重采样是从数据中采样,例如,每天随机抽取一个点,而我想对每天的值求和。即,我希望有一些结果(基于上述数据),例如:2017-11-03 8002017-11-04 16002017-11-05 19002017-11-06 NaN
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信