В конкретном фрейме данных у меня есть столбец под названием «Ветер», в котором указано годовое производство энергии ветра в Германии. В начале последовательности продукция настолько мала, что в DF пишется NaN, данных нет. Только с 2010 года у меня есть данные по ветру.
Ссылка DATA для копирования и вставки: API_link_to_data='https://raw.githubusercontent.com/jenfly/opsd/master/opsd_germany_daily.csv'
energyDF = pd.read_csv(API_link_to_data)
теперь следующий код сравнивает два столбца по элементам:
energyDF.loc[:,'Wind'] == energyDF['Wind']
Я ожидал, что результат будет [True, True, True,....,True]
Но это не так. Для значений NaN результат False.
Что ж, результат будет ложным для всех значений NaN, даже если по элементам они одинаковы:
print(wind_col1[0])
print(wind_col2[0])
print(wind_col1[0] == wind_col2[0])
print(wind_col1[0] == np.nan)
print(wind_col2[0] == np.nan)
Результат: нан нан False False False
Ожидается: nan nan True True True
и после выполнения для всего кадра:
energyDF=energyDF.fillna(0)
тогда
energyDF.loc[:,'Wind'] == energyDF['Wind']
список, полный Истин.
Может ли кто-нибудь объяснить это?
Спасибо