如何解决添加FOMC声明可读性分数至DataFrame时的'Series不可哈希'错误
解决FOMC声明Flesch-Kincaid分数计算的"unhashable type error: 'Series'"问题
错误原因
textstat.flesch_kincaid_grade()函数仅支持传入单个字符串,你直接传入了pandas的Series对象(即整个FOMC_Statements列),函数无法处理这种批量输入,因此触发哈希类型错误。
正确实现方式
使用pandas的apply()方法,对FOMC_Statements列的每一行文本单独调用可读性计算函数:
import textstat # 为DataFrame添加可读性分数列 fomc_statements['readability'] = fomc_statements['FOMC_Statements'].apply(textstat.flesch_kincaid_grade)
可选预处理(避免异常)
如果文本列存在空值或非字符串类型,建议先做预处理:
# 统一转为字符串并填充空值 fomc_statements['FOMC_Statements'] = fomc_statements['FOMC_Statements'].astype(str).fillna('') # 再计算分数 fomc_statements['readability'] = fomc_statements['FOMC_Statements'].apply(textstat.flesch_kincaid_grade)
内容的提问来源于stack exchange,提问作者Varun Sinha
相关产品推荐
相关产品推荐

