You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas DataFrame调用lower()转小写报AttributeError问题咨询

错误原因

  • 你调用lower()的对象是pandas的DataFrame结构,lower()是Python原生字符串的专属方法,DataFrame本身没有内置该方法,所以触发属性不存在的报错。你预期的小写转换实际上根本没有执行成功,自然不存在「已经提前做完转换」的情况。
  • 后续你调用Sastrawi的stopwords.remove()方法时也会报错,该方法仅支持传入单个字符串参数,无法直接处理整个DataFrame。
  • 你代码里写的import str属于无效导入,Python不存在该标准库,可以直接删除。

修复代码

先完成全列小写转换,再逐行处理停用词即可:

from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory
factory = StopWordRemoverFactory()
stopwords = factory.create_stop_word_remover()

# 取目标列
kalimat = df[['judul_name','judul_Headline']].copy()
# 对字符串列做小写转换
kalimat['judul_name'] = kalimat['judul_name'].str.lower()
kalimat['judul_Headline'] = kalimat['judul_Headline'].str.lower()

# 逐行处理去停用词
def clean_row(row):
    full_text = f"{row['judul_name']} {row['judul_Headline']}"
    return stopwords.remove(full_text)

kalimat['clean_text'] = kalimat.apply(clean_row, axis=1)
print(kalimat['clean_text'])

内容的提问来源于stack exchange,提问作者anzy859

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:15:04