Python 返回特定列的值为空的df
我正在从SQL代码移动到python,我有一个Python 返回特定列的值为空的df,python,sql,pandas,dataframe,null,Python,Sql,Pandas,Dataframe,Null,我正在从SQL代码移动到python,我有一个WHERE条件,说WHERE points是NULL 我需要打印我的dataframe,data,这样有问题的一列points就包含了所有Null 例如 我希望它能退回这个: name: age: Jack 14 David 16 Paul 15 如果需要筛选值0,请使用布尔索引 df = pd.DataFrame({'points': {0: 3, 1: 0, 2: 2, 3: 0, 4: 0},
WHERE
条件,说WHERE points是NULL
我需要打印我的dataframe,data,这样有问题的一列points就包含了所有Null
例如
我希望它能退回这个:
name: age:
Jack 14
David 16
Paul 15
如果需要筛选值
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
如果值为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
和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