我有一个熊猫DataFrame,其中包含三列:'x','y','factor'。 “ y”代表我想在数值上积分“ factor”值的数据切片的索引。 “ x”是积分变量。
即具有相同“ y”值的点在一个切片上,我想累计积分“ factor”的值。
有很多唯一的切片,因此我想避免循环遍历“ y”索引。我知道我可以使用np.cumptrapz来矢量化每个切片上的集成,但是我有一种方便的方法可以利用pandas结构来避免遍历切片索引'y'吗?
谢谢!
我已经尝试过切片索引上的循环,但是不幸的是,数据帧的大小使此操作变得非常昂贵。
for i in range(len(np.unique(df['y']))):
inds = df['y'] == i
df.loc[inds,'cum_int'] =
scipy.integrate.cumtrapz(df.loc[inds,'factor'].values
,df.loc[inds,'x'].values)