wake-up-neo.net

Python: NaN-Wert in Pandas nur für einen einzelnen Wert

Ich möchte nur überprüfen, ob eine einzelne Zelle in der Pandas-Serie null ist oder nicht. 

ich möchte also prüfen, ob ein Wert NaN ist. Alle anderen Antworten beziehen sich auf Reihen und Arrays, jedoch nicht auf Einzelwerte. 

Ich habe pandas.notnull, pandas.isnull, numpy.isnan ausprobiert. Gibt es eine Lösung nur für einen einzelnen Wert?

26
vidit

Versuche dies:

import pandas as pd
import numpy as np
from pandas import *

>>> L = [4, nan ,6]
>>> df = Series(L)

>>> df
0     4
1   NaN
2     6

>>> if(pd.isnull(df[1])):
        print "Found"

Found

>>> if(np.isnan(df[1])):
        print "Found"

Found
36
aerokite

Sie können "isnull" mit "at" verwenden, um einen bestimmten Wert in einem Datenrahmen zu überprüfen.

Zum Beispiel:

import pandas as pd
import numpy as np

df = pd.DataFrame([[np.nan, 2], [1, 3], [4, 6]], columns=['A', 'B'])

Yeilds:

    A   B
0   NaN 2
1   1.0 3
2   4.0 6

Um die Werte zu überprüfen:

pd.isnull(df.at[0,'A'])

-> stimmt

pd.isnull(df.at[0,'B'])

-> Falsch

0
sparrow

SCHRITT 1.)

df[df.isnull().any(1)]

----> Gibt Ihnen ein Datenfeld mit Zeilen und Spalten, wenn ein Wert nan ist.

SCHRITT 2.)

dadurch erhalten Sie eine Position im Datenrahmen, an der genau der Wert nan . ist. Dann könnten Sie dies tun

if(**df.iloc[loc_row,loc_colum]==np.nan**):
    print"your code here"
0
yashu vishnalia