Python 用字符串值替换数据帧中的NAN

Python 用字符串值替换数据帧中的NAN,python,pandas,dataframe,replace,missing-data,Python,Pandas,Dataframe,Replace,Missing Data,我想用“missing value”替换df的一列中缺少的值。 我试过了 或 第二个是有效的,因为当我在此代码后计算缺失值时: result['emp_title'].isnull().sum() 它给了我0。 然而,第一个并没有像我期望的那样工作,它没有给我一个0,而不是之前缺失值的计数。 为什么第一个不起作用?谢谢大家! 您需要就地填写,或指定: result['emp_title'].fillna('missing', inplace=True) 或 MVCE: 您应该知道,如果您试

我想用“missing value”替换df的一列中缺少的值。 我试过了

第二个是有效的,因为当我在此代码后计算缺失值时:

result['emp_title'].isnull().sum()
它给了我0。 然而,第一个并没有像我期望的那样工作,它没有给我一个0,而不是之前缺失值的计数。
为什么第一个不起作用?谢谢大家!

您需要就地填写,或指定:

result['emp_title'].fillna('missing', inplace=True)


MVCE:

您应该知道,如果您试图将
fillna
应用于切片,请不要使用
inplace=True
,而是使用
df.loc/iloc
并分配给子切片:

In [1707]: df.Col1.iloc[:5].fillna('missing', inplace=True); df # doesn't work
Out[1707]: 
   Col1
0   1.0
1   2.0
2   3.0
3   NaN
4   4.0
5   5.0
6   NaN

In [1709]: df.Col1.iloc[:5] = df.Col1.iloc[:5].fillna('missing')

In [1710]: df
Out[1710]: 
      Col1
0        1
1        2
2        3
3  missing
4        4
5        5
6      NaN

result['emp_title']=result['emp_title'].fillna('missing')
,因为它不替换值
-它返回一个新的序列或
result['emp_title'].fillna('missing',inplace=true)
得到了它。谢谢大家!!因此,我尝试使用“result['emp_title'].fillna(0,inplace=True)”将缺少的值替换为零,但似乎不起作用。“为什么?”南瓜怪怪的。在v0.20上对我有效。好的,我会再试一次
result['emp_title'].fillna('missing', inplace=True)
result['emp_title'] = result['emp_title'].fillna('missing') 
In [1697]: df = pd.DataFrame({'Col1' : [1, 2, 3, np.nan, 4, 5, np.nan]})

In [1702]: df.fillna('missing'); df # changes not seen in the original
Out[1702]: 
   Col1
0   1.0
1   2.0
2   3.0
3   NaN
4   4.0
5   5.0
6   NaN

In [1703]: df.fillna('missing', inplace=True); df
Out[1703]: 
      Col1
0        1
1        2
2        3
3  missing
4        4
5        5
6  missing
In [1707]: df.Col1.iloc[:5].fillna('missing', inplace=True); df # doesn't work
Out[1707]: 
   Col1
0   1.0
1   2.0
2   3.0
3   NaN
4   4.0
5   5.0
6   NaN

In [1709]: df.Col1.iloc[:5] = df.Col1.iloc[:5].fillna('missing')

In [1710]: df
Out[1710]: 
      Col1
0        1
1        2
2        3
3  missing
4        4
5        5
6      NaN