“DataFrame”对象没有属性“str” - .str.replace 错误

问题描述 投票:0回答:1

我正在尝试将 panda 数据框中的 80 列替换为

","
。 我创建了一个要迭代的标题列表:
""

然后我使用列表来替换多列字符串值,如下所示:

headers = ['h1', 'h2', 'h3'... 'h80']

这给了我这个错误:
dataFrame[headers] = dataFrame[headers].str.replace(',', '')

当我仅在一个标头上尝试相同的操作时,效果很好,并且我需要使用 

AttributeError: 'DataFrame' object has no attribute 'str'

,因为唯一的

str.replace
方法遗憾地无法取代
replace
    

python pandas replace
1个回答
9
投票

","

是一种不适用于数据框的系列方法。您可以在每行/列系列上使用

pd.Series.str.replace
apply

使用 df.applymap

或者,您可以使用

dataFrame[headers] = dataFrame[headers].apply(lambda x: x.str.replace(',',''))

并将每个单元格视为字符串并直接对其使用替换 -

applymap

使用 df.replace

您还可以使用 df.replace,这是一种可直接在选定的所有列中替换 df 中的值的方法。但是,为此您必须设置

dataFrame[headers] = dataFrame[headers].applymap(lambda x: x.replace(',',''))

regex=True

	
© www.soinside.com 2019 - 2024. All rights reserved.