np-nan

np-nan

renardeinside

В продолжение свистопляски с np.nan вот еще пример костыльности.

Допустим, вы хотите (по объективно разным причинам) иметь словарик вида:

dict_v = {np.nan:"MISS",1:"ONES",0:"ZEROS"}

Если вы обратитесь к нему по элементу, то получите желаемый (и ожидаемый результат):

in[1]: print(dict_v[np.nan])
out[1]: "MISS"

А теперь прикол:

ser_obj = pd.Series([np.nan,1,3])
ser_obj.apply(lambda x:dict_v[x])

Угадали что будет? Верно, KeyError - nan not in keys. Такой вот косяк. Естественно, все опять же обходится через костыльный pd.isnull(), но сам факт жутко бесячий.




Report Page