gpt4 book ai didi

python - 在 groupby 之后的 1 列内从另一个值中减去 2 个值

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:34 24 4
gpt4 key购买 nike

如果这是一个非常基本的问题,我感到非常抱歉,但不幸的是,我在找出解决方案时失败得很惨。

我需要从最后一个值中减去一列中的第一个值(在本例中为我的 df 中的第 8 列)并将其除以一个数字(例如 60),然后将 groupby 应用于我的 pandas df 以获得每个值ID。理想情况下,最终输出看起来像这样:

id     
1 1523
2 1644

当应用于 df 的整个列时,我有一个实际的方程式:

(df.iloc[-1,8] - df.iloc[0,8])/60

但是我未能将这部分与 groupby 函数结合起来。其中,我试过申请,但没有用。

df.groupby(['id']).apply((df.iloc[-1,8] - df.iloc[0,8])/60)

我还尝试用等式部分创建一个函数,然后执行 apply(func) 但到目前为止,我的尝试都没有奏效。非常感谢任何帮助,谢谢!

最佳答案

演示:

In [204]: df
Out[204]:
id val
0 1 12
1 1 13
2 1 19
3 2 20
4 2 30
5 2 40

In [205]: df.groupby(['id'])['val'].agg(lambda x: (x.iloc[-1] - x.iloc[0])/60)
Out[205]:
id
1 0.116667
2 0.333333
Name: val, dtype: float64

关于python - 在 groupby 之后的 1 列内从另一个值中减去 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48252601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com