首页 > 解决方案 > 无法替换 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,但仍然无法工作。有人对此有解决方案吗?

标签: pythonpandas

解决方案


那么问题是文本显示<Not defined>并且您<Not-defined>在公式中使用。这应该有效:

crew_hours1 = crew.hours1.replace('<Not Defined>',0,regex=True)


推荐阅读