1664 Stimmen

Wie kann ich auf NaN-Werte prüfen?

float('nan') steht für NaN (not a number). Aber wie kann ich das überprüfen?

31 Stimmen

Zur Geschichte von NaN in Python, siehe PEP 754. python.org/dev/peps/pep-0754

4voto

In Python 3.6 führt die Überprüfung eines String-Wertes x mit math.isnan(x) und np.isnan(x) zu einem Fehler. Ich kann also nicht prüfen, ob der angegebene Wert NaN ist oder nicht, wenn ich nicht vorher weiß, dass es sich um eine Zahl handelt. Das Folgende scheint dieses Problem zu lösen

if str(x)=='nan' and type(x)!='str':
    print ('NaN')
else:
    print ('non NaN')

1voto

J11 Punkte 405

Für nan vom Typ float

import pandas as pd value = float(nan) type(value) <class 'float'> pd.isnull(value) True

value = 'nan' type(value) <class 'str'> pd.isnull(value) False

-5voto

Max Kleiner Punkte 895

For strings in panda take pd.isnull:

if not pd.isnull(atext):
  for word in nltk.word_tokenize(atext):

die Funktion als Merkmalsextraktion für NLTK

def act_features(atext):
features = {}
if not pd.isnull(atext):
  for word in nltk.word_tokenize(atext):
    if word not in default_stopwords:
      features['cont({})'.format(word.lower())]=True
return features

0 Stimmen

Wozu diese Reduzierung?

0 Stimmen

isnull gibt nicht nur für NaN-Werte true zurück.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X