我有一些数据框对象:
df.head()
A B C
0 7 7
1 3 6
2 5 5
3 2 7
4 4 3
我想比较例如 n 的 A 和 B ,同时还要使用 C > n-1 创建一个新行,所以说D = A n * B n + C n-1
起初,我使用了通用的python循环,但是我很快意识到对于大型数据集,这非常慢。然后,我开始研究numpy向量化(非常非常快),但我想不出一种获取先前条目的方法。
在保持其美观又快速的同时,我还有什么其他选择?
答案 0 :(得分:4)
df['D'] = df.A * df.B + df.C.shift(1, fill_value = 0)
A B C D
0 0 7 7 0
1 1 3 6 10
2 2 5 5 16
3 3 2 7 11
4 4 4 3 23