Python 将对象/分类变量中的空值替换为NaN
所以我搜索了很多关于如何用NaN替换空值的有用线索。然而,我不能让他们中的任何人在我的数据帧上工作 我用过:Python 将对象/分类变量中的空值替换为NaN,python,dataframe,nan,Python,Dataframe,Nan,所以我搜索了很多关于如何用NaN替换空值的有用线索。然而,我不能让他们中的任何人在我的数据帧上工作 我用过: df.replace('', np.NaN) df3 = df.applymap(lambda x: np.nan if x == '' else x) 甚至: df.iloc[:,86:350] = df.iloc[:,86:350].apply(lambda x: x.str.strip()).replace('', np.nan) 代码运行正常,没有错误,但当我查看数据帧时,仍
df.replace('', np.NaN)
df3 = df.applymap(lambda x: np.nan if x == '' else x)
甚至:
df.iloc[:,86:350] = df.iloc[:,86:350].apply(lambda x: x.str.strip()).replace('', np.nan)
代码运行正常,没有错误,但当我查看数据帧时,仍然有b''值,而不是NaN。你知道我遗漏了什么吗
很抱歉,我没有给出代码来重现这一点,因为我不知道怎么做,因为我怀疑这是特定于我从SPSS导入的数据帧的,如果有帮助的话,这些值是SPSS中的字符串变量 您的第二次尝试很接近:
df = df.applymap(lambda x: np.NaN if not x else x)
要显示'
和b'
在条件中都将计算为True
,请执行以下操作:
l = ['', b'']
for x in l:
if x:
print ('Not empty')
else:
print ('Empty')
>>> Empty
>>> Empty
样本:
from pandas import DataFrame
from numpy import NaN
df = DataFrame([[1,2,''], ['',b'',3], [4, 5, b'']])
print (df)
# Output
0 1 2
0 1 2
1 b'' 3
2 4 5 b''
df2 = df.applymap(lambda x: NaN if not x else x)
print (df2)
# Output
0 1 2
0 1 2 NaN
1 NaN NaN 3
2 4 5 NaN
df.replace(“”,np.NaN,inplace=True)
?b'!“”代码>?您的'
值现在是否为NaN?