У меня есть два фрейма данных, которые оба имеют столбец даты и столбец emaX. Когда я их объединяю, я получаю ожидаемый результат для одного столбца даты и двух столбцов emaX. Но когда я пытаюсь получить доступ к ключу даты из объединенного фрейма данных, он возвращает KeyError: date.
Это функция, которая возвращает emaX (у меня их два, но они почти идентичны):
def av_get_ema_20():
ti = TechIndicators(key=TOKEN, output_format="pandas")
emaData20, meta_ema = ti.get_ema(symbol=SYMBOL, interval=INTERVAL, time_period=20, series_type=EMA_TYPE)
ema20renamed = pd.DataFrame(emaData20)
ema20renamed.rename(columns={'EMA': 'ema20'}, inplace=True)
return ema20renamed
Затем я объединяю два возвращенных кадра данных:
mergedDF = pd.merge(av_get_ema_10(), av_get_ema_20(), on=["date"], how="inner")
# TEST LINE
print(mergedDF)
Распечатанный кадр данных выглядит так, как я ожидал:
ema10 ema20
date
2020-01-02 11:30:00 3226.5200 NaN
2020-01-02 12:30:00 3229.0927 NaN
2020-01-02 13:30:00 3232.0558 NaN
2020-01-02 14:30:00 3235.0839 NaN
2020-01-02 15:30:00 3239.1668 NaN
... ... ...
2020-03-26 11:30:00 2524.9545 2473.8551
2020-03-26 12:30:00 2533.1755 2483.0279
2020-03-26 13:30:00 2541.2982 2492.0586
2020-03-26 14:30:00 2551.0458 2501.8540
2020-03-26 15:30:00 2565.2866 2513.9983
Но тогда, когда я При попытке использовать объединенный фрейм данных (например, при переборе через фрейм данных) я получаю KeyError: date:
for index, row in mergedDF.iterrows():
print(row["date"], row["ema10"], row["ema20"])
Я неправильно интерпретирую фрейм данных каким-либо образом или есть что-то еще, что я должен был сделать до использовать объединенный набор (включая дату)? Я в растерянности.