python - Pandas fillna() 不适用于 DataFrame 切片
问题描述
Pandasfillna
不适用于 DataFrame 切片,这是一个示例
df = pd.DataFrame([[np.nan, 2, np.nan, 0],
[3, 4, np.nan, 1],
[np.nan, np.nan, np.nan, 5],
[np.nan, 3, np.nan, 4]],
columns=list('ABCD'))
df[["A", 'B']].fillna(0, inplace=True)
DataFrame
不变_
A B C D
0 NaN 2.0 NaN 0
1 3.0 4.0 NaN 1
2 NaN NaN NaN 5
3 NaN 3.0 NaN 4
相比之下
df["A"].fillna(0, inplace=True)
和
df.fillna(0, inplace=True)
工作正常。
这是一个错误还是按预期工作?提前谢谢。
PS这个问题询问如何在切片上使用fillna
,至于我的问题,它涉及为什么上述不起作用。答案在@heena-bawa 答案评论部分。
解决方案
如果我们看pandas documentation
它说你应该fillna
在切片上使用以下内容:
values = {'A':0, 'B':0}
df.fillna(value=values, inplace=True)
print(df)
A B C D
0 0.0 2.0 NaN 0
1 3.0 4.0 NaN 1
2 0.0 0.0 NaN 5
3 0.0 3.0 NaN 4
推荐阅读
- windows - intellij键绑定中Windows上的mac魔术键盘
- c++ - 灰度图像应在 qml 中着色
- godot - 无效的获取索引'global'(基于:'KinematicBody2D('player.gd'))
- jquery - Yii2:是否可以在不重新加载页面的情况下执行控制器的功能?
- java - 将 settings.xml 也放在项目根目录中会在 Maven 构建期间导致 IOException
- reactjs - Typescript/ TSLint:在导入和声明变量时防止名称冲突
- spring - 来自 POST 的 Spring 框架响应
- javascript - 如何在 Javascript 中使用 JSON.parse 返回所需的值
- php - 限制学说查询
- google-sheets - 在一个单元格中随机播放以逗号分隔的值列表(Google 表格)