python - 无法替换 Pandas 中的值
问题描述
我是一个数据框,其中的列具有 int 和 str 值的组合,我需要将其中的值替换为 0。我尝试使用 replace 来执行此操作,但由于某种原因它不起作用。
在导入 csv 之前,我可以简单地使用 excel 中的查找和替换功能来执行此操作,但是当函数可以简单地执行任务而无需添加额外的工作时,为什么要这样做。我已经参考了下面的帖子,但仍然没有任何效果。
下面是我用过的代码
crew_hours1 = pd.Series(crew_data.loc[:, 'Crew/Equip 1 Hours'])
crew_hours1.replace('<Not-Defined>', '0')
当我打印结果时,将返回以下输出:
0 4
1 4
2 <Not Defined>
3 6
4 2
...
134 <Not Defined>
135 <Not Defined>
136 <Not Defined>
137 <Not Defined>
138 <Not Defined>
由于某种原因,它不起作用。我已经使用了 inplace = True 和 regex = True,但仍然无法工作。有人对此有解决方案吗?
解决方案
那么问题是文本显示<Not defined>
并且您<Not-defined>
在公式中使用。这应该有效:
crew_hours1 = crew.hours1.replace('<Not Defined>',0,regex=True)
推荐阅读
- r - 图例颜色与多边形颜色并不完全相似
- javascript - 使用按钮 onClick 在反应挂钩中未重新呈现列表
- html - 如何减小此文本的大小
- visual-studio-code - 打开VSC终端时如何更改错误的初始目录?
- project-reactor - 以固定延迟进行调度的规范方法
- python - 读取文本文件并根据第一列中存在的唯一代码拆分为多个文件
- regex - 使用正则表达式交换一些字母和数字
- html - 响应式网页可以存在两种不同的 html 代码吗?
- javascript - 如何使用异步 ESM 导入获取 ESM 模块
- java - 为什么这个来自 json 模式的正则表达式模式没有在 swagger 中验证?