【发布时间】:2021-10-04 18:29:22
【问题描述】:
我有一个数据框,其中有一列包括汽车品牌。我想应用where和fuzzywuzzy来改进数据。例如,如果一个条目与单词 Mercedes 有 80% 的匹配,我希望将其替换为 Mercedes 单词。这就是我目前所拥有的
df = df.where(fuzz.ratio(df['make'], "Mercedes") >= 80,"Mercedes")
我也试过了
df.mask (df[fuzz.ratio(df['make'], 'Mercedes') >= 85], 'Mercedes', inplace=True)
我两次都遇到同样的错误
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
df.where 是函数https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.where.html。我想我理解了这个错误,我知道我的语法不正确,但我想不出另一种方法。同样最好的是,一个非常快速的方法是理想的,因为数据帧非常大
提前谢谢你
【问题讨论】:
标签: python pandas dataframe fuzzywuzzy