Я хотел бы использовать np.where (), чтобы указать новый столбец df, df['avg_gain']
, со значениями из одного из двух других столбцов df, df['avg_gain_0']
или df['avg_gain_n']
, со значениями, определенными количество циклов за время l oop (переменная 'count') в качестве условия, как показано ниже:
starttime = time.time()
count = 0
def x():
klines = client.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_15MINUTE)
df = pd.DataFrame(klines)
df.columns = ['timestart', 'open', 'high', 'low', 'close', 'timeend']
...
df['change'] = df.close.astype(float).diff()
df['gain'] = np.where(df['change'] > 0, df['change'], 0)
df['avg_gain_0'] = df['gain'].rolling(window=6, center=False).mean()
df['avg_gain_n'] = ((float(df['avg_gain'].iloc[-1]) * 5) + df['gain']) / 6
df['avg_gain'] = np.where(count = 0, df['avg_gain_0'], df['avg_gain_n'])
while True:
try:
x()
count += 1
time.sleep(60.0 - ((time.time() - starttime) % 60.0))
Функция np.where()
, используемая для df['gain']
, работает отлично, но я получаю
позиционный аргумент после ключевого аргумента
ошибка функции np.where()
, используемой для df['avg_gain']
.
Как разрешить? Любая помощь приветствуется. Спасибо.