Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将上采样数从几个月降到几年,并创建一个多级指数?_Python_Python 3.x_Pandas_Time Series - Fatal编程技术网

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)