使用人口普查数据,我想用这两列的相应模式替换两列中的NaNs(“工人阶级”和“本国”)。我可以很容易地得到模式:
mode = df.filter(["workclass", "native-country"]).mode()
返回数据帧:
workclass native-country
0 Private United-States
然而
df.filter(["workclass", "native-country"]).fillna(mode)
不将每列中的nan替换为任何内容,更不用说与该列对应的模式了。有没有一个平滑的方法来做这件事?
如果要用数据帧} 通过} 按位置选择:
df
的某些列中的mode
来填充缺少的值,只需^{Series
创建,通过^{或:
你的解决方案:
样品:
你可以这样做:
例如
那么
df
然后通过做:
我们知道
df
是我认为使用dict作为fillna参数'value'是最干净的
参考号:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html
根据@miriam farber的响应创建玩具df
创建dict
在fillna方法中使用此dict
相关问题 更多 >
编程相关推荐