Jim*_*Jim 7 python pandas fillna
我有一个数据集,其中有一个名为Native Country的列包含30000记录.有些人缺少代表,NaN所以我想用它来填补它mode().我写了这样的东西:
data['Native Country'].fillna(data['Native Country'].mode(), inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是,当我计算缺失值时:
for col_name in data.columns:
print ("column:",col_name,".Missing:",sum(data[col_name].isnull()))
Run Code Online (Sandbox Code Playgroud)
它仍然NaN为列原生国家提供相同数量的值.
zip*_*ipa 19
只需调用系列的第一个元素:
data['Native Country'].fillna(data['Native Country'].mode()[0], inplace=True)
Run Code Online (Sandbox Code Playgroud)
或者你可以用assisgnment做同样的事情:
data['Native Country'] = data['Native Country'].fillna(data['Native Country'].mode()[0])
Run Code Online (Sandbox Code Playgroud)
小智 6
请注意,NaN 可能是您的数据帧的模式:在这种情况下,您将用另一个 NaN 替换 NaN。