BUG复现
1 | train.replace('%', '', inplace=True) |
使用replace函数的目的是:在清洗房价数据时替换掉不需要的单位,如“%”,“元/m²/月”等。但在使用函数时发现无法生效,查了网上相关信息后试了多种方法也无法解决这个问题,如先取列之后再进行replace。1
train["landscapingRatio"].replace('%', '', inplace=True)
原因推测
dataframe中每个列中值的dtypes不同,导致无法replace。
解决方法
使用map()和lambda函数1
train["landscapingRatio"] = train["landscapingRatio"].map(lambda x: x.replace('%', ''))
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。