我正在处理panda和dataframe,我有一个简单的问题:
我有一个数据帧(我们称之为df
(,如下所示:
索引 | ||||
---|---|---|---|---|
0 | 3 | 25 | ||
1 | 4 | 7 | 6 | |
2 | 2 | 48 |
使用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