Мне нужно работать между столбцами и строками.Я разработал некоторую базу кода в цикле "for".Я понимаю, что с помощью операций с данными (panda) можно работать лучше, я пробовал разные, но это не сработало.Может быть, вы можете помочь мне.
for i in range(1, len(df)):
if i == 1:
df['A'][i] = df['D'][i]
elif df['B'][i] == 1:
df['A'][i] = df['A'].shift()[i] + df['C'][i]
elif df['B'][i] == 0:
df['A'][i] = df['A'].shift()[i]
Источник:
Date B D X C A
2004-03-03 0.0 1122 59 0.0 0.0
2004-03-03 0.0 1151 59 0.0 0.0
2004-03-04 0.0 1154 68 0.0 0.0
2004-03-05 0.0 1156 72 0.0 0.0
2004-03-08 0.0 1147 38 0.0 0.0
2004-03-09 0.0 1140 27 0.0 0.0
2004-03-10 0.0 1123 13 0.0 0.0
2004-03-11 0.0 1106 8 0.0 0.0
2004-03-12 1.0 1120 36 14 0.0
2004-03-15 1.0 1104 24 -16 0.0
2004-03-16 1.0 1110 35 6 0.0
2004-03-17 1.0 1123 53 13 0.0
Результат:
Date B D X C A
2004-03-02 0.0 1122 59 0.0 1122
2004-03-03 0.0 1151 59 0.0 1122
2004-03-04 0.0 1154 68 0.0 1122
2004-03-05 0.0 1156 72 0.0 1122
2004-03-08 0.0 1147 38 0.0 1122
2004-03-09 0.0 1140 27 0.0 1122
2004-03-10 0.0 1123 13 0.0 1122
2004-03-11 0.0 1106 8 0.0 1122
2004-03-12 1.0 1120 36 14 1135
2004-03-15 1.0 1104 24 -16 1118
2004-03-16 1.0 1110 35 6 1124
2004-03-17 1.0 1123 53 13 1137