熊猫-df ['A']。isnull()与df ['A'] ==''区别

时间:2020-07-28 00:26:48

标签: python-3.x pandas

正如标题所说,我在用法isull()和==''之间有点困惑。有时,当将空列添加到数据框时,isnull()无效。

FDF = pd.DataFrame()
FDF['A'] = ''
print (FDF.loc[FDF['A'].isnull()])

但在以下情况下仍然有效。

print (FDF.loc[FDF['A']==''])

是因为我在数据框中添加空白列的方式吗?如果是,添加空列的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

pandas''不等于np.nan

''==np.nan
Out[51]: False

这就是为什么当您进行isnull检查时,它将返回False的空字符串

此外,当您为其分配时,请为数据框分配一个空值系列

FDF.A
Out[54]: Series([], Name: A, dtype: object) 

正确的赋值方式

FDF['A'] = ['']
FDF
Out[59]: 
  A
0  

所有上述情况是由于数据框的索引值不为空之后,数据框的分配为空

我们可以做到

FDF['A'] = ['']
FDF['B'] = ''

FDF
Out[64]: 
  A B
0