我有以下数据帧: Index_Date A B C D =============================== 2015-01-31 10 10 Nan 10 2015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 280 2015-02-03 10 100 Nan 250 要求: Index_Date A B C D =============================== 2015-0
Index_Date A B C D =============================== 2015-01-31 10 10 Nan 10 2015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 280 2015-02-03 10 100 Nan 250
要求:
Index_Date A B C D =============================== 2015-01-31 10 10 10 10 2015-02-01 2 3 23 22 2015-02-02 10 60 290 280 2015-02-03 10 100 3000 250
C列是根据D的值得出2015-01-31.
然后我需要使用C的值2015-01-31并乘以2015-02-01的A值并添加B.
我已尝试使用if else进行应用和移位,这会产生一个关键错误.
首先,创建派生值:df.loc[0, 'C'] = df.loc[0, 'D']
然后迭代剩余的行并填充计算的值:
for i in range(1, len(df)): df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B'] Index_Date A B C D 0 2015-01-31 10 10 10 10 1 2015-02-01 2 3 23 22 2 2015-02-02 10 60 290 280