我正在计算一系列日期时间的加权平均值(肯定是做错了,因为我无法解释以下内容):
import pandas as pd
import numpy as np
foo = pd.DataFrame({'date': ['2022-06-01', '2022-06-16'],
'value': [1000, 10000]})
foo['date'] = pd.to_datetime(foo['date'])
bar = np.average(foo['date'].view(dtype='float64'), weights=foo['value'])
print(np.array(bar).view(dtype='datetime64[ns]'))
退货
将月份更改为7月:
foo = pd.DataFrame({'date': ['2022-07-01', '2022-07-16'],
'value': [1000, 10000]})
foo['date'] = pd.to_datetime(foo['date'])
bar = np.average(foo['date'].view(dtype='float64'), weights=foo['value'])
print(np.array(bar).view(dtype='datetime64[ns]'))
返回2022-07-14T23:59:53.766924660
,
在Excel中计算的预期结果:
我忽略了什么?
EDIT: Additional Detail
- 我的真实数据集要大得多,如果可能的话,我想使用numpy.
-
foo['date']
可以假设为没有时间成分的日期,但加权平均值将有一个时间成分.