Чтобы увидеть пример ответа, отметьте это в браузере https://bittrex.com/Api/v2.0/pub/market/GetTicks?marketName=BTC-ETH&tickInterval=thirtyMin. У меня есть 275 значений рыночного списка и 330 временных интервалов в списке time_series. У GetTicks api есть список из тысячи слов. Меня интересуют только те записи, где интервал в time_series совпадает со значением 'T' в API GetTicks. если time_series не совпадает со значением 'T' в API GetTicks, тогда я устанавливаю соответствующие значения 'BV' / 'L' в master df как 0. Каждый цикл занимает 3 секунды, чтобы выполнить, делая около 20-25 минут времени выполнения , Есть ли лучший питонный способ построить этот мастер DF за меньшее время? Ценю вашу помощь / предложение.
мой код --->
for (mkt, market_pair) in enumerate(market_list):
getTicks = requests.get("https://bittrex.com/Api/v2.0/pub/market/GetTicks?marketName=" + str(
market_pair) + "&tickInterval=thirtyMin")
getTicks_result = (getTicks.json())["result"]
print(mkt + 1, '/', len_market_list, market_pair, "API called", datetime.utcnow().strftime('%H:%M:%S.%f'))
first_df = pd.DataFrame(getTicks_result)
first_df.set_index('T', inplace=True)
for tk, interval in enumerate(time_series):
if interval in first_df.index:
master_bv_df.loc[market_pair, interval] = first_df.loc[interval,'BV']
bv_sh.cell(row=mkt + 2, column=tk + 3).value = first_df.loc[interval,'BV']
master_lp_df.loc[market_pair, interval] = first_df.loc[interval,'L']
lp_sh.cell(row=mkt + 2, column=tk + 3).value = first_df.loc[interval,'L']
else:
master_bv_df.loc[market_pair, interval] = master_lp_df.loc[market_pair, interval]=0
bv_sh.cell(row=mkt + 2, column=tk + 3).value = lp_sh.cell(row=mkt + 2, column=tk + 3).value=0