Str.replace方法返回属性错误。
dc_listings['price'].str.replace(',', '')
AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
下面是我的价格列的前5行。
此堆栈溢出thread recommends,用于检查我的列是否具有NAN值,但我的列中没有NAN值。
Str.replace方法返回属性错误。
dc_listings['price'].str.replace(',', '')
AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
下面是我的价格列的前5行。
此堆栈溢出thread recommends,用于检查我的列是否具有NAN值,但我的列中没有NAN值。
4条答案
按热度按时间ljsrvy3e1#
正如错误所述,只能对字符串列使用
.str
,而您有一个float64
。浮点数中没有逗号,因此您所拥有的不会真正执行任何操作,但通常情况下,您可以先对其进行强制转换:例如:
zyfwsgd62#
两种方式:
1.您可以使用
series
来修正这个错误。1.如果
series
不起作用,您还可以使用apply(str)
,如下所示:x7rlezfr3#
如果price是dtype float 64,则数据不是字符串。您可以尝试
dc_listings['price'].apply(function)
bybem2ql4#
Randy有solution来处理将整个列更改为
str
类型的问题。(如NA、list、dict、自定义类),并希望将来过滤这些特殊值,我建议您创建自己的函数,然后将其apply
仅应用于str value
,如下所示:或者更清楚地使用
def
:尽管如此这可能是一个不好的做法,因为您应该对列中的每个值使用**
the same data type
**