python - 当存在 NaN 值时,无法更新 Pandas 数据框中的值
问题描述
说我这里有代码
df = pd.DataFrame([[10,20], [30, 40], [50, 60]],
columns=['max_speed', 'shield'])
它输出
max_speed shield
0 10 20
1 30 40
2 50 60
在这里改变一个值,我可以很容易地做到
df.iloc[1]['shield'] = 5
输出
max_speed shield
0 10 20
1 30 5
2 50 60
但是,如果数据框中存在 NaN 值,我将无法再更改这些值。
df = pd.DataFrame([[10], [30, 40], [50, 60]],
columns=['max_speed', 'shield'])
max_speed shield
0 10 NaN
1 30 40.0
2 50 60.0
df.iloc[1]['shield'] = 5
max_speed shield
0 10 NaN
1 30 40.0
2 50 60.0
我知道我可以使用 fillna() 和其他方法,但想知道在这种特殊情况下我能做什么。我想用我认为这些对我没有帮助的下一行值填充更大的数据集的 NaN 值,例如 [0]['shield'] = 40
解决方案
推荐阅读
- ffmpeg - FFMpeg - 使用 enable='0' 提高 filter_complex 的处理速度?
- multithreading - 我怎样才能摆脱段错误?
- time-series - Thingsboard - 小部件时间序列表
- javascript - 如何从wordpress中的url调用特定部分
- visual-studio-code - VSCode 如何从 editor.fontfamily 的给定字体列表中选择字体?
- python - Python 相对导入。“尝试相对导入超出顶级包”
- java - 如何在Android中获取材质对话框输入字段的值?
- reactjs - AWS Amplify 从经过身份验证的 api 检索没有所有者财产的数据
- prometheus - Prometheus 抛出“错误的响应状态 401 未经授权”-即使在指定正确的配置“basic_auth_users”之后
- c++ - 构建 qt 子项目时,GNU Make 退出并显示代码 1