向量化多索引熊猫上的累积梯形积分。

时间:2019-06-07 23:32:33

标签: pandas numpy vectorization pandas-groupby numerical-integration

我有一个熊猫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)

0 个答案:

没有答案