我试图从“Description”列中数一数字符串为“hanger”的单词数。所以我定义了一个函数:
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)时,您会遇到一个错误。你知道吗此快速调整可能对您有用:
您可以使用
str.contains()
和count()
执行以下操作:相关问题 更多 >
编程相关推荐