将Dataframe列中的值与同一列中的上一个值进行除法运算



我正在处理panda和dataframe,我有一个简单的问题:

我有一个数据帧(我们称之为df(,如下所示:

24
索引
0 35
1 4 7 6
2 28

使用Series.shift而不是apply:

df['D'] = df['C'] / df['C'].shift()
# index  A  B  C         D
# 0      3  2  5       NaN
# 1      4  7  6  1.200000
# 2      2  4  8  1.333333

如果您想要0而不是NaN:,则可以选择链Series.fillna

df['D'] = df['C'].div(df['C'].shift()).fillna(0)
# index  A  B  C         D
# 0      3  2  5  0.000000
# 1      4  7  6  1.200000
# 2      2  4  8  1.333333

最新更新