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

如何为词ID与词频的Pandas DataFrame添加document_id列并重塑数据

解决数据重塑需求:从文档文本到(docID, wordID, count)格式

没问题,我来帮你把现有的DataFrame转换成你需要的格式!咱们一步步来实现:

步骤1:准备数据与分词

首先,我们需要把每条MESSAGE拆成单个词,同时保留对应的DOCUMENT_ID。这里先按空格拆分文本,顺便清理掉文本末尾的省略号(如果有的话):

import pandas as pd

# 你的原始数据集
jsonDF = pd.DataFrame({
    'DOCUMENT_ID':[263403828328665088,264142543883739136], 
    'MESSAGE':['@Zuora wants to help @Network4Good with Hurric...','@ztrip please help spread the good word on hel...']
})

# 分词并展开每条词记录,关联原DOCUMENT_ID
tokenized_df = jsonDF.assign(WORD=jsonDF['MESSAGE'].str.split()).explode('WORD')

# 清理词尾的省略号(可选,根据你的数据情况调整)
tokenized_df['WORD'] = tokenized_df['WORD'].str.rstrip('...')

步骤2:为每个唯一词分配wordID

接下来,我们给所有出现过的唯一词分配一个专属的wordID,保证每个词对应唯一ID:

# 获取所有唯一词,创建词到ID的映射(ID从1开始,和你示例格式一致)
unique_words = tokenized_df['WORD'].unique()
word_id_mapping = {word: idx + 1 for idx, word in enumerate(unique_words)}

# 将wordID加入到数据框中
tokenized_df['wordID'] = tokenized_df['WORD'].map(word_id_mapping)

步骤3:统计词频并整理成目标格式

最后,我们按文档ID和wordID分组,统计每个词在对应文档中的出现次数,再调整列名到你需要的格式:

# 分组统计词频
final_df = tokenized_df.groupby(['DOCUMENT_ID', 'wordID']).size().reset_index(name='count')

# 重命名列名匹配目标格式
final_df = final_df.rename(columns={'DOCUMENT_ID': 'docID'})

# 查看结果
print(final_df)

运行后你会得到类似这样的输出(具体wordID会根据词的顺序生成):

docID  wordID  count
0  263403828328665088       1      1
1  263403828328665088       2      1
2  263403828328665088       3      1
3  263403828328665088       4      1
4  263403828328665088       5      1
5  263403828328665088       6      1
6  264142543883739136       7      1
7  264142543883739136       8      1
8  264142543883739136       4      1
9  264142543883739136       9      1
10 264142543883739136      10      1
11 264142543883739136      11      1
12 264142543883739136      12      1

可选优化

如果需要更精准的分词(比如处理标点、统一大小写),可以做额外处理:

  • 统一词的大小写:tokenized_df['WORD'] = tokenized_df['WORD'].str.lower()
  • 使用专业分词工具(如nltk的word_tokenize):需要先安装nltk,然后替换split步骤为nltk.word_tokenize()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:19:12