对文件中语句使用jieba分词后再进行词典编码

使用软件:pycharm,jupyter

安装的库:pandas,jieba

例如我们需要对wps或者excel表格的第一列进行如题目的要求,以下则是代码

import pandas as pd
import jieba
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics import accuracy_score

# 读取excel文件
file_path = "你自己的文件路径"
# df = pd.read_csv(file_path,encoding="gbk")
df = pd.read_csv(file_path)#由于文件编码问题这里我们需要将其统一
def my_lcut(x):
    x_new = str(x)
    x_new = jieba.lcut(x_new)
    return x_new
# 对第二列进行分词并编码
# df["new_col"] = df[df.columns[1]].apply(lambda x: jieba.lcut(x))
df["new_col"] = df[df.columns[1]].apply(my_lcut)

#apply() 函数应用于数据帧第二列中的每个值,lambda 函数用于将第二列中的每个值传递给 jieba.lcut() 函数。
word2id = {word: idx for idx, word in enumerate(set([i for sublist in df["new_col"] for i in sublist]))}
#创建一个名为“word2id”的字典,其中键是数据帧“df”的“new_col”列中的单词,值是相应的索引。集合推导用于提取“new_col”列中的所有唯一单词,
# enumerate() 函数用于为每个从 0 开始的唯一单词分配索引。生成的字典允许将“new_col”列中的每个单词映射到唯一索引
df["new_col"] = df["new_col"].apply(lambda x: [word2id[i] for i in x])
#最后将 lambda 函数应用于 “new_col” 列的每个元素,该函数将列表中的每个单词映射到 “word2id” 字典中的相应索引。


# 将处理后的数据写入新的excel文件
df.to_csv("new_train.csv",index=False)

这样即可完成需求

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值