Replace() 函数在 DataFrame 列中不起作用

The Replace() function doesn't work in a DataFrame column

所以我有一列 (cylinders),其中有几个我想更改的值:

database['cylinders'].unique()

输出:

array(['8 cylinders', '4 cylinders', '6 cylinders', nan, '4 cylinder',
       '6 cylinder', '10 cylinders', '12 cylinders', '5 cylinders',
       '3 cylinders', '8 cylinder', '3 cylinder', 'other', '5 cylinder',
       '10 cylinder', '7 cylinder', '2 cylinder', '12 cylinder'],
      dtype=object)

我想统一“cylinders”这个词下的值,我想在没有“cylinder”和“s”的值中添加一个“s”。所以我尝试使用 replace() 但它不起作用,我不知道为什么:

database.replace(to_replace='cylinder', value='cylinders', inplace= True)
database['cylinders'].unique()

输出:

array(['8 cylinders', '4 cylinders', '6 cylinders', nan, '4 cylinder',
       '6 cylinder', '10 cylinders', '12 cylinders', '5 cylinders',
       '3 cylinders', '8 cylinder', '3 cylinder', 'other', '5 cylinder',
       '10 cylinder', '7 cylinder', '2 cylinder', '12 cylinder'],
      dtype=object)
 

我是不是做错了什么? database.replacedatabase['cylinders'].replace 我都试过了,但还是不行。

replace() 函数不是 in-place 操作。您必须提供 inplace=True 或将其重新分配给原始数据框。

database.replace(to_replace='cylinder', value='cylinders', inplace=True)
database['cylinders'].unique()