无法替换熊猫中的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法替换熊猫中的值相关的知识,希望对你有一定的参考价值。

我是一个数据列,其中的列具有int和str值的组合,在其中我需要将其值替换为0。我曾尝试使用replace来做到这一点,但由于某些原因,它将无法正常工作。

我可以在导入csv之前简单地使用excel中的“查找和替换”功能来执行此操作,但是当功能可以简单地执行任务而无需添加额外的工作时,为什么要执行此操作。我已经提到了下面的帖子,但仍然没有任何效果。

Pandas replacing elements not working

下面是我使用的代码

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)

另一答案

尝试series.str.replace()

crew_hours1 = crew_hours1.str.replace('<Not-Defined>', '0')

以上是关于无法替换熊猫中的值的主要内容,如果未能解决你的问题,请参考以下文章

熊猫中的条件替换

用字典替换熊猫系列中的值

使用熊猫替换列中的值时出错[重复]

用列/系列中的值替换熊猫子字符串

根据熊猫中多列的条件(最大值)替换列中的值

如何用熊猫数据框中的范围替换列值