(ValueError: Columns must be same length as key) 来自情绪分析

问题描述

我一直在执行情绪分析,并通过以下方式将正面和负面结果返回给我的 pd.DataFrame。

作者 文字 情绪
12323 这是文字 (0.25,0.35)

但是,当我想拆分情绪列(由极性和主观性组成)时,出现以下错误

ValueError: Columns must be same length as key

我尝试了多种方法

  • str.split
  • str.extract
  • 四舍五入

使用舍入方法时,我收到一个错误,指出浮点 NaN 无法相乘。所以我想那里有一个 NaN 。但是,当我寻找 NaN 时,我得到了这个答案:

author_id       0
text_stemmed    0
sentiment       0
dtype: int64 

解决此问题的最佳方法是什么?

谢谢!

解决方法

编辑:将大小写从 df['sentiment'] 更改为 df['Sentiment']

string 方法不起作用,因为它不是字符串而是存储在单元格中的 set

您可以这样做来创建一个新列:

df['sentiment_0'] = df['Sentiment'].apply(lambda x: x[0])
df['sentiment_1'] = df['Sentiment'].apply(lambda x: x[1])

df['sentiment_0'],df['sentiment_1'] = df['Sentiment'].explode()