(ValueError: Columns must be same length as key) from sentiment analysis
(ValueError: Columns must be same length as key) from sentiment analysis
我一直在执行情绪分析,并通过以下方式将正面和负面结果返回给我的 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()
我一直在执行情绪分析,并通过以下方式将正面和负面结果返回给我的 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()