Python 如何将上采样数从几个月降到几年,并创建一个多级指数?
到 最后是Python 如何将上采样数从几个月降到几年,并创建一个多级指数?,python,python-3.x,pandas,time-series,Python,Python 3.x,Pandas,Time Series,到 最后是 ID 01-2016 02-2016 03-2016 04-2016 ... 12-2016 1 1 1 0 0 ... 0 1 0 3 3 3 ... 3 2 0 0 7 0 ... 0 我尝试过使用交叉表函数和up sample函数,然后运行for循环。它似乎可以工作,但在我的机器上需要3个多小时。有矢量化的解决
ID 01-2016 02-2016 03-2016 04-2016 ... 12-2016
1 1 1 0 0 ... 0
1 0 3 3 3 ... 3
2 0 0 7 0 ... 0
我尝试过使用交叉表函数和up sample函数,然后运行for循环。它似乎可以工作,但在我的机器上需要3个多小时。有矢量化的解决方案吗?IIUC,试试这个:
ID 01-2016 02-2016 03-2016 04-2016 ... 12-2016
1 1 4 3 3 ... 3
2 0 0 7 0 ... 0
我不确定您要为从初始表到中间表的转换编写哪些规则 对于第二个转换,请尝试:
df.groupby('ID').sum()
你能解释一下数字吗?
ID 01-2016 02-2016 03-2016 04-2016 ... 12-2016
1 1 4 3 3 ... 3
2 0 0 7 0 ... 0
df.set_index('ID')\
.apply(lambda x: pd.Series(x['fill_value'],
index=pd.date_range(x.date_1, x.date_2, freq='D')),
axis=1)\
.sum(level=0)