【发布时间】:2014-04-07 13:32:15
【问题描述】:
我希望对数据帧的每月粒度结构应用一些偏差,然后在初始数据帧中对其进行重铸。我首先做一个 groupby 和聚合。这部分效果很好。然后我重新索引并取 NaN。我希望通过将 groupby 元素的月份与初始数据框匹配来完成重新索引。 我希望能够以不同的粒度进行此操作(每年 -> 月和年,...)
有人解决了这个问题吗?
>>> df['profile']
date
2015-01-01 00:00:00 3.000000
2015-01-01 01:00:00 3.000143
2015-01-01 02:00:00 3.000287
2015-01-01 03:00:00 3.000430
2015-01-01 04:00:00 3.000574
...
2015-12-31 20:00:00 2.999426
2015-12-31 21:00:00 2.999570
2015-12-31 22:00:00 2.999713
2015-12-31 23:00:00 2.999857
Freq: H, Name: profile, Length: 8760
### Deviation on monthly basis
>>> dev_monthly = np.random.uniform(0.5, 1.5, len(df['profile'].groupby(df.index.month).aggregate(np.sum)))
>>> df['profile_monthly'] = (df['profile'].groupby(df.index.month).aggregate(np.sum) * dev_monthly).reindex(df)
>>> df['profile_monthly']
date
2015-01-01 00:00:00 NaN
2015-01-01 01:00:00 NaN
2015-01-01 02:00:00 NaN
...
2015-12-31 22:00:00 NaN
2015-12-31 23:00:00 NaN
Freq: H, Name: profile_monthly, Length: 8760
【问题讨论】: