2016-08-30 2 views
1

Im von SQL-Code arbeiten, es zu Python zu bewegen, ich habe einen WHERE Zustand zu sagen, wo Punkte Sind NULLPandas, Rückkehr df, für das eine bestimmte Spalte Werte null

Ich brauche meinen Datenrahmen, Daten zu drucken, wie dass die eine Spalte in Frage stellt, enthält alle Nulls

z.

name: age: points: 
Sean  12  3 
Jack  14  0 
Peter 11  2 
David 16  0 
Paul  15  0 

, und ich will es diese zurück:

name: age: 
Jack  14 
David 16 
Paul  15 

jede Hilfe dankbar

Antwort

3

Verwendung boolean indexing bei Bedarf Filter wo Wert 0:

df = pd.DataFrame({'points': {0: 3, 1: 0, 2: 2, 3: 0, 4: 0}, 
        'name': {0: 'Sean', 1: 'Jack', 2: 'Peter', 3: 'David', 4: 'Paul'}, 
        'age': {0: 12, 1: 14, 2: 11, 3: 16, 4: 15}})  
print (df) 
    age name points 
0 12 Sean  3 
1 14 Jack  0 
2 11 Peter  2 
3 16 David  0 
4 15 Paul  0 

df1 = df.ix[df.points == 0,['name','age']] 
print (df1) 
    name age 
1 Jack 14 
3 David 16 
4 Paul 15 

Und wenn Werte NaN:

df = pd.DataFrame({'points': {0: 3, 1: np.nan, 2: 2, 3: np.nan, 4: np.nan}, 
        'name': {0: 'Sean', 1: 'Jack', 2: 'Peter', 3: 'David', 4: 'Paul'}, 
        'age': {0: 12, 1: 14, 2: 11, 3: 16, 4: 15}})  
print (df) 
    age name points 
0 12 Sean  3.0 
1 14 Jack  NaN 
2 11 Peter  2.0 
3 16 David  NaN 
4 15 Paul  NaN 

df1 = df.ix[df.points.isnull(),['name','age']] 
print (df1) 
    name age 
1 Jack 14 
3 David 16 
4 Paul 15 
+0

'daten [data.points.isnull()]' würde das auch funktionieren? –

+0

Bitte überprüfen Sie bearbeiten, ich füge Lösung für die Filterung um "0" und um "NaN". – jezrael

Verwandte Themen