gpt4 book ai didi

python - 如何从 pandas 数据框中获取同一行(前一列)的前一个值?

转载 作者:行者123 更新时间:2023-12-01 01:00:50 25 4
gpt4 key购买 nike

我想从同一行的前一列中获取值,并且我需要将该值乘以 5 并将其写入当前位置。

我尝试过pandas的shift方法,但它不起作用。之后,我编写了单独的函数来获取前一个列名称..但我认为这不是一个好方法。

'''
def get_previous_column_name(wkName):
v = int(wkName.strip('W'))
newv = str(v - 1)
if len(newv) == 1:
newv = '0' + newv
return 'W' + newv
'''

dataframe:

W01,W02,W03,W04,W05
7, 8
10,20
20, 40

expected result:

W01,W02,W03,W04,W05
7, 8, 40, 200, 1000
10, 20, 100, 500, 2500
20, 40, 200, 1000, 5000

最佳答案

这是一种方法ffill +cumsum

df=df.ffill(1)*(5)**df.isnull().cumsum(1)
df
Out[230]:
W01 W02 W03 W04 W05
0 7.0 8.0 40.0 200.0 1000.0
1 10.0 20.0 100.0 500.0 2500.0
2 20.0 40.0 200.0 1000.0 5000.0

关于python - 如何从 pandas 数据框中获取同一行(前一列)的前一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55801784/

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