Python Pandas: необъяснимые значения NaN

Есть ли какая-то ошибка, которую я делаю, или это ошибка в пандах или, возможно, в Квандле?

Есть ли какая-то ошибка, которую я делаю, или это ошибка в пандах или, возможно, в Квандле?

1 ответ

Я почти уверен, что проблема в следующей строке:

quandl_gold_fridays['Round'] = quandl_gold['Close'].apply(lambda x: int(float(x)/23))

Обратите внимание, что вы использовали quandl_gold с правой стороны вместо quandl_gold_fridays. Дата, соответствующая вашему NaN, 2014-04-18, это была Страстная пятница (т.е. рынки закрыты). В этот день не было бы соответствующего значения в quandl_gold для использования лямбда-выражением, поэтому оно будет передано NaN.

Чтобы проиллюстрировать это, попробуйте добавить ячейку со следующим кодом:

import pandas as pd

x = pd.merge(left=quandl_gold.loc[:, ['Close']], 
             right=quandl_gold_fridays.loc[:, ['Close','Round']],
             left_index=True,
             right_index=True,
             how='right')
x.tail(10)

Вы заметите NaN в столбце "Close_x".

Другие вопросы по тегам