Czytam dwie kolumny pliku csv za pomocą pandy readcsv()
, a następnie przypisuję wartości do słownika. Kolumny zawierają ciągi liczb i liter. Czasami zdarzają się przypadki, w których komórka jest pusta. Moim zdaniem, wartość odczytana do tego wpisu słownikowego powinna wynosić None
, ale zamiast tego jest przypisana nan
. Z pewnością None
jest bardziej opisowe dla pustej komórki, ponieważ ma wartość pustą, podczas gdy nan
mówi tylko, że odczytana wartość nie jest liczbą.Jaka jest różnica między NaN i None?
Czy moje zrozumienie jest poprawne, jaka jest różnica między None
a nan
? Dlaczego zamiast przypisano None
?
Również mój słownik czek na pustych komórek używa numpy.isnan()
:
for k, v in my_dict.iteritems():
if np.isnan(v):
Ale to daje mi błąd mówiąc, że nie mogę korzystać z tej czek na v
. Sądzę, że dzieje się tak dlatego, że należy używać zmiennej całkowitej lub zmiennoprzecinkowej, a nie ciąg. Jeśli to prawda, w jaki sposób mogę sprawdzić v
dla przypadku "pustej komórki"/nan
?
Tekst 'qwerty' nie jest liczbą. –
@RobertHarvey Wiem, że na pewno 'None' będzie lepszym opisem wartości pustej komórki. – user1083734
@ user1083734 moja odpowiedź opisuje, że – Stephan