有一个像这样的数据框:
import pandas as pd
df = pd.DataFrame([[11, 21], [24, 15], [17, 48], [28, 31], [22, 14]],columns=['A', 'B'])
所以我想在名称“C”中添加新列。但我想要“C”计算
基于 "A" 作为 "C"[i]="A"[i]-"A"[i-1] 公式。
我写了两种方法,但它们不起作用。
第一种方法):
for i in (0,5)
df['c'].iloc[i]=df['A'].iloc[i]- df['A'].iloc[i-1]
print(df)
第二):
for i in (0,5)
df.iloc['c',i]=df.iloc['A',i]- df.iloc['A',i-1]
print(df)
有人可以指导吗?
答案 0 :(得分:1)
您可以使用.shift()
:
df["C"] = df.A - df.A.shift(1)
print(df)
打印:
A B C
0 11 21 NaN
1 24 15 13.0
2 17 48 -7.0
3 28 31 11.0
4 22 14 -6.0