Python Pandas.apply():如何在apply()中使用包含同一列中前面单元格中的值的公式?

Python Pandas.apply():如何在apply()中使用包含同一列中前面单元格中的值的公式?,python,pandas,apply,Python,Pandas,Apply,我有一个熊猫专栏“a”,如下所示 A = A1, A2, A3, A4, A5, A6, A7 通过使用apply(),我需要使用以下公式创建一个新列“B” B1 = (A2 - A1)/A1 B2 = (A3 - A2)/A2 B3 = (A4 - A3)/A3 等等。 问题是我需要参考同一列的前几个单元格来计算新列的值 请帮助。使用 示例 df = pd.DataFrame({'A':[1,2,3,4,5]}) print(df) A 0 1 1 2 2 3 3 4 4

我有一个熊猫专栏“a”,如下所示

A = A1, A2, A3, A4, A5, A6, A7
通过使用apply(),我需要使用以下公式创建一个新列“B”

B1 = (A2 - A1)/A1
B2 = (A3 - A2)/A2
B3 = (A4 - A3)/A3
等等。 问题是我需要参考同一列的前几个单元格来计算新列的值

请帮助。

使用

示例

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

发布一个显示原始表单的数据帧,以及另一个显示预期输出的数据帧。作为指导:用于创建另一列偏移量为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