В зависимости от типа d столбца, NULL не могут хорошо взаимодействовать с NaN по любой причине.
Ничто не будет означать, что поле пустое, а это не так, поскольку у вас есть «значение» для данного типа d.
Простой способ убедиться в том, что вы можете идентифицировать NaN, состоит в том, чтобы увидеть, равно ли поле само по себе
def isNaN(value):
if value != value:
return True
else:
return False
И привести пример:
df = pd.DataFrame(data={'ClientId':[1,2,3,4] , 'SomeNULLs':['main','main',None,None], 'NewNULLs':[1,None,0,1]})
df['Test'] = df.NewNULLs.apply(isNaN)
Полученный набор данных должен быть
ClientId SomeNULLs NewNULLs Test
0 1 main 1.0 False
1 2 main NaN True
2 3 None 0.0 False
3 4 None 1.0 False