使用Python
中的pandas
库,我尝试将一些数据从每月值向上采样到每日值。有没有一种方法可以将一个值平均地拆分到其结果的“子项”上?你知道吗
例如,假设我在一月和二月都开了100公里:
In[1]: distPerMonth = pd.Series([100, 100], index=pd.PeriodIndex(['2019-01', '2019-02'], freq='M'))
In[2]: distPerMonth
Out[2]:
2019-01 100
2019-02 100
Freq: M, dtype: int64
现在我想计算一下,从
In[3]: distPerMonth.resample('D')....
这会导致
Out[3]:
2019-01-01 3.225806451612903
2019-01-02 3.225806451612903
...
2019-02-27 3.5714285714285716
2019-02-28 3.5714285714285716
Freq: M, dtype: float64
(2月份的数值高于1月份的数值,因为我在不到几天的时间里就开了同样的距离。)
我要寻找的是一种将“aggregator”函数传递给重采样数据集的方法,原始值、原始时间段和“child”时间段都可用于此数据集。你知道吗
非常感谢!你知道吗
PS:What isnotworking is using a custom function like so:不工作的是使用如下自定义函数:
In[3]: distPerMonth.resample('D').apply(custom_function)
因为对于这个函数,只有子序列可用(在大多数情况下是空的)。我想我可以用这些子序列来推断哪个是父的时间段,然后用父序列来得到相应的父值,以某种方式计算出有多少子值,然后用这个数字除以父值,但这似乎是一种过于复杂的处理方式。你知道吗
对于稍后阅读此问题的读者:公认的解决方案适用于无间隙时间序列。如果行之间有间隙,请查看this question。你知道吗
您可以使用:
相关问题 更多 >
编程相关推荐