Skip to main content
 首页 » 编程设计

python之查找列中特定字符串的出现次数

2025年05月04日22jpfss

我正在尝试计算“描述”列中具有字符串“衣架”的单词数量。所以我定义了一个函数:

def hanger_count(title):  
if 'hanger' in title.lower().split(): 
    return True 
else: 
    return False 

当我用字符串测试它时,它似乎工作正常。但是当我尝试通过数据列运行函数时,使用函数:

ecomm['Description'].apply(hangercount) 

我收到错误返回:

AttributeError: 'float' object has no attribute 'lower' 

我认为问题是 python 将列中的某些行视为对象而不是字符串,有什么方法可以转换它吗?

你认为我做错了什么?

请您参考如下方法:

您的列中似乎有混合数据类型,并且由于 lower() 只是字符串的一种方法,当 pandas 尝试对数值调用该函数时,您会收到错误消息 (在本例中是一个 float )。

这个快速调整可能对你有用:

def hanger_count(title):  
    if 'hanger' in str(title).lower().split(): 
        return True 
    else: 
        return False