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

Pandas加载情感分析数据集时如何拼接Feeling为NaN的句子行

情感分析数据集句子拼接解决方案

实现逻辑是将非空的Feeling标签作为完整句子的结束标记,前面所有连续Feeling为NaN的句子片段都和该带标签行归为同一组,拼接后对应原标签即可,具体操作如下:

  • 首先正常加载原始数据集
  • 生成分组ID:每遇到一行Feeling非空的记录,分组ID就累加1,保证连续的无标签句子片段和后续首个带标签行归入同一分组
  • 分组聚合:每组内的所有句子片段拼接为完整句子,取组内最后一行的Feeling值作为完整句子的对应标签

完整可运行代码如下:

import pandas as pd

# 加载原始数据集
url = 'https://raw.githubusercontent.com/jdvelasq/datalabs/master/datasets/amazon_cells_labelled.tsv'
df = pd.read_csv(url, sep='\t', names=["Sentence", "Feeling"])

# 生成分组标识
df['group_id'] = df['Feeling'].notna().cumsum()

# 分组聚合得到处理后的数据集
result_df = df.groupby('group_id').agg(
    # 拼接组内所有句子片段
    Sentence = ('Sentence', lambda x: ' '.join(x).strip()),
    # 取组内的标签值
    Feeling = ('Feeling', 'last')
).reset_index(drop=True)

如果需要处理拼接后多余的连续空格,可以将拼接逻辑修改为:

Sentence = ('Sentence', lambda x: ' '.join(x).replace(r'\s+', ' ').strip())

内容的提问来源于stack exchange,提问作者Luis Alejandro Vargas Ramos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:15:04