python文本数据分析作业分享案例

简介: python文本数据分析作业分享案例

作业需求:


分析两本类型不同的现代小说的词性分布,如武侠或侦探小说等.用一个类读入整本小说。用自然语言处理工具。初始化过程分析内容。分解词语并获取词性(如动词.形容词等).类对象取索引返回词和词性两项主要信息在调用类对象的函数中,实现词性的统计。用饼状图可视化个主要词性频率,对比两本小说的饼状


8ed6928f97f4deab2d3d5ff72072412c.jpg

编辑

全部代码:


import jieba
import jieba.posseg
import matplotlib.pyplot as plt
import matplotlib
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 字体更改
matplotlib.rcParams.update({'font.size': 15})  # 字体大小
fig = plt.figure(figsize=(8, 8), dpi=80)
word_type = ["a", "d", "n", "p", "r", "u", "v", "y"]
word_type_chin = ["形容词", "副词", "名词", "介词", "代词", "助词", "动词", "语气词"]
class Text():
    def init(self):
        with open("yitian.txt", mode="r", encoding="utf8") as txt1:
            a = txt1.read()
        with open("baiyexing.txt", mode="r", encoding="gbk") as txt2:
            b = txt2.read()
        self.txt = [a, b]
        self.output = [[], []]
        self.flag = [[], []]
        self.word = [[], []]
        self.identify(self)
        return self.output[0], self.output[1]
    def identify(self):
        for x in range(0, 2):
            self.txt[x] = jieba.posseg.cut(self.txt[x])
            for text in self.txt[x]:
                self.output[x].append([text.word, text.flag])
                self.flag[x].append(text.flag)
            for t in range(0, 8):
                print(f"{word_type_chin[t]}: {self.flag[x].count(word_type[t])}")
                self.word[x].append(self.flag[x].count(word_type[t]))
    def pie(self):
        for x in range(0, 2):
            fig.add_subplot(1, 2, x + 1)
            plt.pie(self.word[x],
                    labels=word_type_chin,  # 设置饼图标签
                    # radius=1.2,
                    autopct="%d%%",
                    )
            if x == 0:
                text_type = "武侠"
            elif x == 1:
                text_type = "侦探"
            plt.title(f"{text_type}小说的词性分布")
        fig.show()
text_1, text_2 = Text.init(Text)
print(f"武侠小说:\n{text_1}")
print(f"\n侦探小说:\n{text_2}")
Text.pie(Text)
input("   >>> ENTER以继续 <<<   ")

b654cd1fdd5a9d8b7ea986765cd29d57.png


编辑

数据+代码:

https://download.csdn.net/download/qq_38735017/87354408

相关文章
|
16天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
45 0
|
11天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
26 2
|
12天前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
55 3
|
8天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
8天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
11天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
79 2
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
178 4
|
3月前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
84 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
10天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。