在数据集中将字符串“ 1 year”替换为“ 1”

时间:2019-10-31 10:53:34

标签: python

我有一个数据集,需要在其中将一些字符串值替换为另一组字符串值。在这种情况下,我想将字符串“ 1 year”替换为“ 1”。我已经使用了代码-

loan_data['emp_length_int']=loan_data['emp_length'].str.replace("1 year","1")

,然后使用唯一功能检查值是否已更改但无济于事-

array(['10+  ', '0', '1 year', '3  ', '8  ', '9  ', '4  ', '5  ', '6  ','2 ', '7  ', nan], dtype=object)

我要去哪里错了?

1 个答案:

答案 0 :(得分:0)

不清楚您使用的是什么数据集/数组。假设它是一个np.array;并且该loan_data ['emp_length_int']返回数组

array(['10+ ', '0', '1 year', '3 ', '8 ', '9 ', '4 ', '5 ', '6 ', '2 ', '7 ', nan], dtype=object)

for i in range(len(loan_data['emp_length_int'])):
    loan_data['emp_length_int'][i] = loan_data['emp_length_int'][i].replace('1 year','1')

应该可以解决问题。

当且仅当loan_data ['emp_length'] ='1 year'时,您所做的只会将“ 1 year”替换为“ 1”

由于该数组是一个数组,因此无法在该数组上工作。不是字符串。 str.replace()仅对字符串执行此操作。请检查有关数组类型以及replace()函数的文档。

  

https://docs.python.org/3.8/library/string.html