如何使用非常量 Jacobin 集成 over pandas 数据框

问题描述 投票:0回答:1

我有一个 pandas 数据框,看起来像这样:

E     p     S
.1   .1     4
.1.  .2     5
.    .      .
.    .      .
.3   .1     2
.3.  .2     4
.    .      .
.    .      .
15.  .1     5
15.  .2     9
.    .      .
.    .      .

如您所见,对于

E
的每个值,
p
S
都有多个值。我正在尝试对 E 的每个值执行积分
$n(E) = \Int dp p^2 S$
。不幸的是,由于积分中的
p^2
因素,我认为我不能使用
groupby(['E']).sum()
,因为这只会对
S 执行总和
没有
p^2
因素。任何以漂亮的 pythonic 方式完成此积分的方法都将不胜感激。

python pandas dataframe integration
1个回答
0
投票

使用numpy的梯形公式你可以这样做:

df.groupby('E').apply(lambda x: np.trapz(x['S'].mul(x['p']**2), x['p']))
© www.soinside.com 2019 - 2024. All rights reserved.