gpt4 book ai didi

python - Pandas 根据不同的值移位来计算百分比

转载 作者:行者123 更新时间:2023-11-28 19:52:42 26 4
gpt4 key购买 nike

我正在尝试从数据框中计算 first down 的百分比。

这是数据框

        down  distance
1 1.0 10.0
2 2.0 13.0
3 3.0 15.0
4 3.0 20.0
5 4.0 1.0
6 1.0 10.0
7 2.0 9.0
8 3.0 3.0
9 1.0 10.0

我想计算第一次倒地的百分比,这意味着第二次倒地时,获得的码数百分比是多少。对于第三次倒数,第三次的百分比基于第一次。

例如,我想要以下输出。

        down  distance    percentage

1 1.0 10.0 NaN
2 2.0 13.0 (13-10)/13
3 3.0 15.0 (15-10)/15
4 3.0 20.0 (20-10)/20
5 4.0 1.0 (1-10)/20
6 1.0 10.0 NaN # New calculation
7 2.0 9.0 (9-10)/9
8 3.0 3.0 (3-10)/3
9 1.0 10.0 NaN

谢谢

第一个问题的当前解决方案都可以正常工作。

最佳答案

这是一个矢量化的解决方案:

# define condition
cond = df['down'] == 1

# calculate value to subtract
first = df['distance'].where(cond).ffill().mask(cond)

# perform calculation
df['percentage'] = (df['distance'] - first) / df['distance']

print(df)

down distance percentage
1 1.0 10.0 NaN
2 2.0 13.0 0.230769
3 3.0 15.0 0.333333
4 3.0 20.0 0.500000
5 4.0 1.0 -9.000000
6 1.0 10.0 NaN
7 2.0 9.0 -0.111111
8 3.0 3.0 -2.333333
9 1.0 10.0 NaN

关于python - Pandas 根据不同的值移位来计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51777429/

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