python实现对表格某一列内容统计高频次的字

本文介绍了如何使用Python的pandas、jieba库对Excel文件中的问题描述列进行分词、去除停用词,然后统计高频词并将其保存在指定路径的count.txt文件中。
摘要由CSDN通过智能技术生成

1:以下代码是实现解决如何对高频次出新的文字进行统计,并输出到桌面生成count.txt文本,该文本没有创建有则覆盖。

  1. 注意①:需要改动的地方df = pd.read_excel(“C:\Users\Desktop\统计.xlsx”),把括号里的路径改成自己的表格存在路径。
  2. 注意②:代码中的“问题描述”,是我要读取的列名。根据自己需要改动名称,也可以把自己要读取的列直接修改成“问题描述”,那么就不需要做改动了。
  3. 注意③:with open(“C:\Users\Desktop\count.txt”, “w”, encoding=“utf-8”) as f:
    for word, count in sorted_word_counts:
    f.write(f"{word}: {count}\n")
    加粗部分要改成自己的桌面路径或自己指定路径,运行后就能看到输出高频次的count.txt文本了。有用的话记得点赞支持!
import pandas as pd
import re
import jieba
from jieba import analyse

# 读取Excel文件
df = pd.read_excel("C:\\Users\\Desktop\\统计.xlsx")


# 定义一个函数,用于分词、去停用词和数字
def process_text(text):
    # 分词
    seg_list = jieba.cut(text, cut_all=False)
    # 去停用词和数字
    filtered_words = [word for word in seg_list if not word.isdigit() and word not in ["的", "了", ",", "(", ")"]]
    return filtered_words


# 调用函数处理“问题描述”列中的所有文本
df['问题描述'] = df['问题描述'].apply(process_text)

# 使用Counter统计每个单词出现的频率并排序
from collections import Counter

word_list = df['问题描述'].sum()  # 这里使用sum()可能不是最佳方法,因为它会尝试将列表元素相加
# 为了正确统计,我们需要先将所有单词平铺开来
flat_words = [word for sublist in df['问题描述'].tolist() for word in sublist]
word_counts = Counter(flat_words)
sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)

# 输出排序后的结果到“count.txt”
with open("C:\\Users\\Desktop\\count.txt", "w", encoding="utf-8") as f:
    for word, count in sorted_word_counts:
        f.write(f"{word}: {count}\n")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值