In addition to dtype objects, NumPy introduces special numeric values: nan and inf. These can arise in mathematical computations. Not A Number (nan). It indicates that a value that should be numeric is, in fact, not defined mathematically. For example, 0/0 yields nan. Sometimes, nan is also used to signify missing information; for example, pandas uses this. inf indicates a quantity that is arbitrarily large, so in practice, it means larger than any number the computer can conceive of. -inf is also defined and it means arbitrarily small. This could occur if a numeric operation blows up, that is, grows rapidly without bounds.
Nothing is ever equal to nan; it makes no sense for something undefined to be equal to something else. You need to use the NumPy function isnan to identify nan. While the == sign does not work for nan, it does work for inf....