python做数值积分、积分区间为小数_python-pandas数据帧中的定数值积分

我有一个列数可变的pandas数据帧。我想对数据帧的每一列进行数值积分,这样我就可以计算从第0行到第n行的定积分。我有一个可以在1D数组上工作的函数,但是有没有更好的方法可以在pandas数据帧中这样做,这样我就不必迭代列和单元格了?我在想办法用applymap,但我不知道怎么用。在

这是在一维阵列上工作的函数:def findB(x,y):

y_int = np.zeros(y.size)

y_int_min = np.zeros(y.size)

y_int_max = np.zeros(y.size)

end = y.size-1

y_int[0]=(y[1]+y[0])/2*(x[1]-x[0])

for i in range(1,end,1):

j=i+1

y_int[i] = (y[j]+y[i])/2*(x[j]-x[i]) + y_int[i-1]

return y_int

我想用一次计算一个数据帧的多个列的方法来替换它,如下所示:

^{pr2}$

编辑:

启动数据帧dB_df:Sample1 1 dB Sample1 2 dB Sample1 3 dB Sample1 4 dB Sample1 5 dB Sample1 6 dB

0 2.472389 6.524537 0.306852 -6.209527 -6.531123 -4.901795

1 6.982619 -0.534953 -7.537024 8.301643 7.744730 7.962163

2 -8.038405 -8.888681 6.856490 -0.052084 0.018511 -4.117407

3 0.040788 5.622489 3.522841 -8.170495 -7.707704 -6.313693

4 8.512173 1.896649 -8.831261 6.889746 6.960343 8.236696

5 -6.234313 -9.908385 4.934738 1.595130 3.116842 -2.078000

6 -1.998620 3.818398 5.444592 -7.503763 -8.727408 -8.117782

7 7.884663 3.818398 -8.046873 6.223019 4.646397 6.667921

8 -5.332267 -9.163214 1.993285 2.144201 4.646397 0.000627

9 -2.783008 2.288842 5.836786 -8.013618 -7.825365 -8.470759

结束数据帧B_df:Sample1 1 B Sample1 2 B Sample1 3 B Sample1 4 B Sample1 5 B Sample1 6 B

0 0.000038 0.000024 -0.000029 0.000008 0.000005 0.000012

1 0.000034 -0.000014 -0.000032 0.000041 0.000036 0.000028

2 0.000002 -0.000027 0.000010 0.000008 0.000005 -0.000014

3 0.000036 0.000003 -0.000011 0.000003 0.000002 -0.000006

4 0.000045 -0.000029 -0.000027 0.000037 0.000042 0.000018

5 0.000012 -0.000053 0.000015 0.000014 0.000020 -0.000023

6 0.000036 -0.000023 0.000004 0.000009 0.000004 -0.000028

7 0.000046 -0.000044 -0.000020 0.000042 0.000041 -0.000002

8 0.000013 -0.000071 0.000011 0.000019 0.000028 -0.000036

9 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

在上面的例子中(x[j]-x[i]) = 0.000008

你可能感兴趣的:(python做数值积分,积分区间为小数)