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".