说我有以下值:
money_spent
time
2014-10-06 17:59:40.016000-04:00 1.832128
2014-10-06 17:59:41.771000-04:00 2.671048
2014-10-06 17:59:43.001000-04:00 2.019434
2014-10-06 17:59:44.792000-04:00 1.294051
2014-10-06 17:59:48.741000-04:00 0.867856
Run Code Online (Sandbox Code Playgroud)
我希望能衡量每秒钟花费的金钱2
。更具体地说,对于输出中的每个时间戳,我需要查看最近2秒钟内花费的资金。
当我做:
df.resample('2S', how='last')
Run Code Online (Sandbox Code Playgroud)
我得到:
money_spent
time
2014-10-06 17:59:40-04:00 2.671048
2014-10-06 17:59:42-04:00 2.019434
2014-10-06 17:59:44-04:00 1.294051
2014-10-06 17:59:46-04:00 NaN
2014-10-06 17:59:48-04:00 0.867856
Run Code Online (Sandbox Code Playgroud)
这不是我所期望的。首先,请注意,再采样DF的第一项是2.671048
,但那是在时间17:59:40
,即使按照原来的数据帧,没钱花了还没有。那怎么可能?
尝试使用how=np.sum
:
df.resample('2S', how=np.sum, closed='left', label='right')
Run Code Online (Sandbox Code Playgroud)
编辑:
至于closed
和label
:
它的意思是:从左封闭的间隔开始,并用间隔右端的日期标记。(为2秒,例如[1、1.2、1.5、1.9、2))。并且从文档:
已关闭:{'right','left'}关闭bin间隔的哪一侧
label:{'right','left'}标签桶使用哪个料箱边缘标签
归档时间: |
|
查看次数: |
1104 次 |
最近记录: |