为什么会出现AttributeError:“ numpy.ndarray”对象在python中没有属性“ replace”?

时间:2019-07-30 14:04:37

标签: python pandas numpy

我正在尝试将csv文件中的数据标准化:

import pandas as pd
my_city = pd.read_csv('sample4_addlink.csv')['City'].unique()

my_city
Out[70]: 
array(['Lancaster', 'Canton', 'Edison', ..., 'Upton', 'Irvington',
       'El Cerrito'], dtype=object)

现在在my_city中可以看到,有些城市之间的名称之间有空格,例如El Cerrito。我想用下划线代替空格

my_cities =my_city.replace(" ", "_")
Traceback (most recent call last):

  File "<ipython-input-71-53c4a0662dd7>", line 1, in <module>
    my_cities =my_city.replace(" ", "_")

AttributeError: 'numpy.ndarray' object has no attribute 'replace'

使用.replace函数时出现此错误。解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这是因为unique根据输入序列的数据类型返回ndarrayExtensionArray对象。

请改用drop_duplicatesstr访问器:

my_city = pd.read_csv('sample4_addlink.csv')['City'].drop_duplicates().str.replace(' ', '_')