正如标题所说,我在用法isull()和==''之间有点困惑。有时,当将空列添加到数据框时,isnull()无效。
FDF = pd.DataFrame()
FDF['A'] = ''
print (FDF.loc[FDF['A'].isnull()])
但在以下情况下仍然有效。
print (FDF.loc[FDF['A']==''])
是因为我在数据框中添加空白列的方式吗?如果是,添加空列的正确方法是什么?
答案 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