我有一个类型的数据集。
Date ID window var win_ID
0 1998-01-28 X -5 8.500e-03 1
1 1998-01-28 Y -5 1.518e-02 1
2 1998-01-29 X -4 8.005e-03 1
3 1998-01-29 Y -4 7.905e-03 1
4 1998-01-30 X -3 -5.497e-03 1
... ... ... ...
3339 2016-12-19 Y 3 -4.365e-04 152
3340 2016-12-20 X 4 3.628e-03 152
3341 2016-12-20 Y 4 6.608e-03 152
3342 2016-12-21 X 5 -2.467e-03 152
3343 2016-12-21 Y 5 -2.651e-03 152
我的目的是创建一个新的列,我把时间序列划分为: var
归类后 win_ID
以该系列的第一个元素为单位,以 win_ID
诸如此类
Date ID window var win_ID new_var
0 1998-01-28 X -5 8.500e-03 1 1
1 1998-01-28 Y -5 1.518e-02 1 1.78588
2 1998-01-29 X -4 8.005e-03 1 0.94176
3 1998-01-29 Y -4 7.905e-03 1 0.93000
4 1998-01-30 X -3 -5.497e-03 1 ...
... ... ... ...
3339 2016-12-19 Y 3 -4.365e-04 152
3340 2016-12-20 X 4 3.628e-03 152
3341 2016-12-20 Y 4 6.608e-03 152
3342 2016-12-21 X 5 -2.467e-03 152
3343 2016-12-21 Y 5 -2.651e-03 152
在这里我给出了一些初步的例子,说明我在变量 new_var
. 我想用类似
df['new_var']=df.groupby('win_ID')/df.groupby('win_ID').first()
但我得到的错误信息是
ValueError: Unable to coerce to Series, length must be 4: given 152
有人有其他的解决方案吗?