У меня есть кусок кода, который работает вечно. Кто-нибудь знает, как это оптимизировать?
Цель формулы - создать столбец, который выполняет следующие действия: когда 'action' != 0, if 'PX_LAST'<'ma', populate 'buy_sell' with -1, if 'PX_LAST'>'ma', populate 'buy_sell' with 1
; в других случаях не заполняйте 'buy_sell' новыми значениями.
Fyi - в столбце «action» указывается 0 или 1
#create column
df_zinc['buy_sell'] = 0
index = 0
while index < df_zinc.shape[0]:
if df_zinc['action'][index] != 0:
continue
if df_zinc['PX_LAST'][index]<df_zinc['ma'][index]:
df_zinc.loc[index,'buy_sell'] = -1
elif df_zinc['PX_LAST'][index]>df_zinc['ma'][index]:
df_zinc.loc[index,'buy_sell'] = 1
else:
index = index + 1