我有一个 pandas 列“A”,如下所示。
A = A1, A2, A3, A4, A5, A6, A7
通过使用 apply(),我需要使用以下公式创建一个新列“B”。
B1 = (A2 - A1)/A1
B2 = (A3 - A2)/A2
B3 = (A4 - A3)/A3
等等。 问题是我需要引用同一列的先前单元格来计算新列的值。
请帮忙。
最佳答案
df['B'] = df['A'].pct_change().shift(-1)
示例
df = pd.DataFrame({'A':[1,2,3,4,5]})
print(df)
A
0 1
1 2
2 3
3 4
4 5
df['B'] = df['A'].pct_change().shift(-1)
print(df)
A B
0 1 1.000000
1 2 0.500000
2 3 0.333333
3 4 0.250000
4 5 NaN
关于python - Pandas .apply() : How to use a formula in apply() that involves values from preceding cells in the same column?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127932/