Difference between np.nan and np.NaN












2














Is there any difference between np.Nan and np.nan? As per my understanding both are used for null values but if you look here



import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


df = pd.DataFrame([[np.nan,2,np.nan,0],[3,4,np.nan,1],[np.nan,np.nan,np.nan,5]],columns=list('ABCD'))
print(df)
print(np.nan == np.NaN)


I get following output:



     A    B   C  D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
False

Process finished with exit code 0


Now if these are same print(np.nan == np.NaN) should return True and why are the values in dataframe populated as NaN?



I get NaN is not a number so it might be treating it that way and hence changing the entry in dataframe but I am still not sure.










share|improve this question






















  • np.nan is np.NaN is True. They are alias.
    – B. M.
    Nov 22 at 18:17






  • 1




    In pycharm, I get false.
    – user10089194
    Nov 22 at 18:19






  • 4




    @user10089194 You should not use equality to test nans, it will always return False. i.e. np.nan == np.nan is also False. But testing identity with is, np.nan is np.NaN is True. See IEEE 754 Floating Point Special Values in the NumPy docs.
    – miradulo
    Nov 22 at 18:58










  • Understood. Thanks.
    – user10089194
    Nov 22 at 20:10
















2














Is there any difference between np.Nan and np.nan? As per my understanding both are used for null values but if you look here



import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


df = pd.DataFrame([[np.nan,2,np.nan,0],[3,4,np.nan,1],[np.nan,np.nan,np.nan,5]],columns=list('ABCD'))
print(df)
print(np.nan == np.NaN)


I get following output:



     A    B   C  D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
False

Process finished with exit code 0


Now if these are same print(np.nan == np.NaN) should return True and why are the values in dataframe populated as NaN?



I get NaN is not a number so it might be treating it that way and hence changing the entry in dataframe but I am still not sure.










share|improve this question






















  • np.nan is np.NaN is True. They are alias.
    – B. M.
    Nov 22 at 18:17






  • 1




    In pycharm, I get false.
    – user10089194
    Nov 22 at 18:19






  • 4




    @user10089194 You should not use equality to test nans, it will always return False. i.e. np.nan == np.nan is also False. But testing identity with is, np.nan is np.NaN is True. See IEEE 754 Floating Point Special Values in the NumPy docs.
    – miradulo
    Nov 22 at 18:58










  • Understood. Thanks.
    – user10089194
    Nov 22 at 20:10














2












2








2







Is there any difference between np.Nan and np.nan? As per my understanding both are used for null values but if you look here



import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


df = pd.DataFrame([[np.nan,2,np.nan,0],[3,4,np.nan,1],[np.nan,np.nan,np.nan,5]],columns=list('ABCD'))
print(df)
print(np.nan == np.NaN)


I get following output:



     A    B   C  D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
False

Process finished with exit code 0


Now if these are same print(np.nan == np.NaN) should return True and why are the values in dataframe populated as NaN?



I get NaN is not a number so it might be treating it that way and hence changing the entry in dataframe but I am still not sure.










share|improve this question













Is there any difference between np.Nan and np.nan? As per my understanding both are used for null values but if you look here



import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


df = pd.DataFrame([[np.nan,2,np.nan,0],[3,4,np.nan,1],[np.nan,np.nan,np.nan,5]],columns=list('ABCD'))
print(df)
print(np.nan == np.NaN)


I get following output:



     A    B   C  D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
False

Process finished with exit code 0


Now if these are same print(np.nan == np.NaN) should return True and why are the values in dataframe populated as NaN?



I get NaN is not a number so it might be treating it that way and hence changing the entry in dataframe but I am still not sure.







arrays numpy nan






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 at 18:14









user10089194

386




386












  • np.nan is np.NaN is True. They are alias.
    – B. M.
    Nov 22 at 18:17






  • 1




    In pycharm, I get false.
    – user10089194
    Nov 22 at 18:19






  • 4




    @user10089194 You should not use equality to test nans, it will always return False. i.e. np.nan == np.nan is also False. But testing identity with is, np.nan is np.NaN is True. See IEEE 754 Floating Point Special Values in the NumPy docs.
    – miradulo
    Nov 22 at 18:58










  • Understood. Thanks.
    – user10089194
    Nov 22 at 20:10


















  • np.nan is np.NaN is True. They are alias.
    – B. M.
    Nov 22 at 18:17






  • 1




    In pycharm, I get false.
    – user10089194
    Nov 22 at 18:19






  • 4




    @user10089194 You should not use equality to test nans, it will always return False. i.e. np.nan == np.nan is also False. But testing identity with is, np.nan is np.NaN is True. See IEEE 754 Floating Point Special Values in the NumPy docs.
    – miradulo
    Nov 22 at 18:58










  • Understood. Thanks.
    – user10089194
    Nov 22 at 20:10
















np.nan is np.NaN is True. They are alias.
– B. M.
Nov 22 at 18:17




np.nan is np.NaN is True. They are alias.
– B. M.
Nov 22 at 18:17




1




1




In pycharm, I get false.
– user10089194
Nov 22 at 18:19




In pycharm, I get false.
– user10089194
Nov 22 at 18:19




4




4




@user10089194 You should not use equality to test nans, it will always return False. i.e. np.nan == np.nan is also False. But testing identity with is, np.nan is np.NaN is True. See IEEE 754 Floating Point Special Values in the NumPy docs.
– miradulo
Nov 22 at 18:58




@user10089194 You should not use equality to test nans, it will always return False. i.e. np.nan == np.nan is also False. But testing identity with is, np.nan is np.NaN is True. See IEEE 754 Floating Point Special Values in the NumPy docs.
– miradulo
Nov 22 at 18:58












Understood. Thanks.
– user10089194
Nov 22 at 20:10




Understood. Thanks.
– user10089194
Nov 22 at 20:10

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436339%2fdifference-between-np-nan-and-np-nan%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436339%2fdifference-between-np-nan-and-np-nan%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

What visual should I use to simply compare current year value vs last year in Power BI desktop

How to ignore python UserWarning in pytest?

Alexandru Averescu