python数据处理—以唐诗宋词为例

👽发现宝藏

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。

一,前言

1.1 数据处理

Python 数据处理是指使用 Python 编程语言对各种数据进行操作、清理、转换和分析的过程。数据处理是数据科学、机器学习、人工智能等领域中的一个关键步骤,因为在这些领域中,通常需要对大量的数据进行处理以从中提取有用的信息。

数据处理的任务包括:

  1. 数据清理(Data Cleaning): 处理缺失值、异常值、重复值等,以确保数据质量。

  2. 数据转换(Data Transformation): 将数据从一种格式转换为另一种格式,或者进行归一化、标准化等操作。

  3. 数据分析(Data Analysis): 使用统计学和数学方法分析数据,提取有关数据集的洞察。

  4. 特征工程(Feature Engineering): 创建新的特征,选择重要的特征,以提高机器学习模型的性能。

  5. 数据合并和连接(Data Merging and Joining): 将来自不同来源的数据集合并或连接在一起。

  6. 数据可视化(Data Visualization): 使用图表、图形等方式将数据可视化,以更好地理解数据的分布和关系。

  7. 时间序列分析(Time Series Analysis): 针对时间序列数据进行分析,例如股票价格、气象数据等。

  8. 文本处理(Text Processing): 对文本数据进行清理、分词、词干提取等操作。

Python 提供了许多库和工具,如NumPy、Pandas、Matplotlib、Seaborn、Scikit-learn等,用于简化和加速数据处理的过程。这些工具提供了丰富的功能,使得数据科学家和分析师能够更轻松地处理和分析数据。

1.2 数据处理数据集

我们现在拿到了一个十分庞大的数据集。是json文件,里面存储了将近十万个数据,现在要对其中的数据进行清洗处理。

在这里插入图片描述

二,python模块

import json
import jieba

我们需要用json模块来处理json文件,和使用jieba库来分析词性,这样可以实现我们的需求。

2.1,增加停用词表

停用词表.txt,把停用词表存入stopwords,原因是:我们的目标分析json里有一些标点符号。

stopwords = [line.strip() for line in open("停用词表.txt",encoding="utf-8").readlines()]

基本如图所示:
在这里插入图片描述
a+str(b)+c这是文件名称,a+b+c=./json/poet.song.0.json b递增,实现动态取值

with open(a+str(b)+c,'r',encoding='utf8')as fp:

因为有将近500个json文件。每个文件里有好几千组数据,我现在尽力的优化代码,现在提取一次,把需要的数据存入文件里面差不多需要五分钟。

2.2,顺序读取

定义一个空的字符串,将json对象转换为python对象。定义一个空的list存放诗句。
循环json_data i为里面的每一个元素。
新的追加到list_paragraphs列表
循环 j为里面的每一句。
代码如图所示:
在这里插入图片描述
使用jieba库,分析str内容的词性【注意是名称,动词。。。。】排行输出都是俩个字是巧合,没有字数限制

words = jieba.lcut(str_s)

现在words为分析完毕的词性列表,遍历。

排除特殊符号

for word in words:
            if word not in stopwords:
                if len(word) == 1:
                    continue
                else:
                    counts[word] = counts.get(word,0) + 1

出现频率加一。

2.3,lambda函数

使用lambda函数,sort快速排序,遍历输出频率前50的词性。

items.sort(key=lambda x:x[1], reverse=True)

之后赋值word, count。

word, count = items[i]
    print ("{:<10}{:>7}".format(word, count))

三,运行

在这里插入图片描述

3.1,存入文件

f=open('towa.txt',"a",encoding='gb18030')
            f.writelines("题目:"+textxxx)
            f.writelines(word_ping)

在这里插入图片描述

四.总结

这篇文章介绍了Python数据处理的基本概念和方法,重点关注了数据清理、转换、分析、特征工程、数据合并与连接、数据可视化、时间序列分析和文本处理等任务。为了演示数据处理的过程,作者使用了一个庞大的JSON数据集,并展示了使用Python模块进行数据处理的方法。

在数据处理的过程中,作者使用了json模块来处理JSON文件,同时引入了jieba库用于分析词性。文章介绍了如何增加停用词表以处理标点符号,并展示了读取和处理多个JSON文件的方法。在文中提到了优化代码以提高处理速度的尝试。

文章的第三部分展示了代码的运行过程,包括将结果存入文件的操作。最后,通过展示运行结果,作者演示了对数据集中诗句的分析,输出了出现频率前50的词性,并将结果存入文件中。

总体而言,这篇文章通过实际案例生动地展示了Python在数据处理方面的应用,尤其在处理大规模JSON数据集时的方法和技巧。

  • 12
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一键难忘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值