gpt4 book ai didi

python - 迭代和平均 Pandas 数据帧

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

我有一个包含很多行的数据库,例如:

timestamp  name  price  profit
bob 5 4
jim 3 2
jim 2 6
bob 6 7
jim 4 1
jim 6 3
bob 3 1

数据库按时间戳排序。我希望能够添加一个新列,它将价格列中的最后 2 个值放在当前值之前,并将它们平均到一个新列中。这样前三行看起来像这样带有一个新列:

timestamp  name  price  profit  new column
bob 5 4 4.5
jim 3 2 3
jim 2 6 5

(6+3)/2 = 4.5
(2+4)/2 = 3
(4+6)/2 = 5

这不是学校项目或其他任何东西,这只是我自己在做的事情。我试过问一个与此类似的问题,但我认为我不是很清楚。提前致谢!

最佳答案

def shift_n_roll(df):
return df.shift(-1).rolling(2).mean().shift(-1)

df['new column'] = df.groupby('name').price.apply(shift_n_roll)

df

enter image description here

关于python - 迭代和平均 Pandas 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39049202/

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