分享好友 最新动态首页 最新动态分类 切换频道
手把手学爬虫第五弹——数据清洗与数据分析
2024-12-27 13:03

手把手学爬虫第五弹——数据清洗与数据分析

    数据清洗是指当我们通过爬虫获取数据以后对数据进行清洗,通过python对于数据中的空值、异常值、无效值进行修改删除。进而对清洗后的数据进行分析处理。

使用Numpy处理数据

初识Numpy数组

    NumPy是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.

创建Numpy数组

    创建一个Numpy的方式有很种,下面我们逐一进行了解测试.

  • 使用array()函数
    array()函既可以创建一维数组也可以创建二维数组。
 
  • 使用zeros()函数
    zerios()函数创建元素值都是0的数组
 
  • 使用ones()函数
    ones()函数创建元素值都为1的数组
 
  • 使用empty()函数
 
  • 使用arange()函数
 
利用NumPy数组进行数据处理
  • 将条件逻辑转为数组运算
        NumPy的where()函数是三元表达式x if condition else y的矢量版本。
 
  • 数组统计运算
 

数据分析工具Pandas

初识Pandas

    Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

Pandas数据结构
Series

Series 类似表格中的一个列(column,类似于一维数组,可以保存任何数据类型。

 

参数说明
data:一组数据(ndarray 类型)。
index:数据索引标签,如果不指定,默认从 0 开始。
dtype:数据类型,默认会自己判断。
name:设置名称。
copy:拷贝数据,默认为 False。

  • 创建方式1
 
  • 创建方式2
 
  • 创建方式3
 
DataFrame

    DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

 

参数说明
data:一组数据(ndarray、series, map, lists, dict 等类型)。
index:索引值,或者可以称为行标签。
columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
dtype:数据类型。
copy:拷贝数据,默认为 False。

  • 创建方式1
 
  • 创建方式2
 
  • 根据索引获取值
 
  • 通过属性访问
 
  • 添加数据
 
  • 删除数据
 
Pandas索引操作以及高级索引
索引对象

    Pandas中的索引都是index对象,又称为索引对象,该对象不可修改。
    索引对象不可修改的特性非常重要,这样使得多个数据结构之间能够很安全的共享index对象。

 
重置索引

    reindex()方法作用是对原索引和新索引进行匹配,即,新索引有缘索引的数据,而原索引数据按照新索引排序。

index, columns:要符合的新标签/索引
method:None 、 backfill 、 bfill、pad、ffill、nearest可选
fill_value:可指定填充缺失值
limit:向前或向后填充的最大连续元素数

 
 
索引操作
  • Series索引操作
    Series的索引用法类似于Numpy数组的索引,但是Series的索引既可以通过索引的位置获取、也可以通过索引的名称获取。
 
  • 获取不连续的数据
 
  • DataFrame的索引操作
    DataFrame结构既可以包含行索引、也可以包含列索引。其中,行索引是通过index属性进行获取,列索引是通过columns属性进行获取。
 
  • DataFrame获取不连续的Series对象
 
  • 索引高级操作
    loc:基于标签索引(索引名称,用于按标签选取数据。执行切片操作时,既包含起始索引又包含结束索引。
    iloc:基于位置索引(整数索引,用于按位置选取数据。执行切片操作时,只包含起始索引,不包含结束索引。
 
数据排序
按索引排序
 

axis:0按照行名排序;1按照列名排序
level:默认None,否则按照给定的level顺序排列
ascending:默认True升序排列;False降序排列
inplace:默认False,否则排序之后的数据直接替换原来的数据
kind:排序方法

 
 
 
按值排序

参数即用法同按索引排序。

 
 
 
读写数据操作
读写CSV文件

Pandas为我们提供了read_csv读取CSV文件,该函数涉及参数较多,但是只有几个常用,具体的在这里我就不一一列举,感兴趣的可以看看这个博客read_csv)。下面写个实例看看怎么使用。

 
 
读取txt文件
 
 
读取Excel文件
 
 
读取MySQL数据库
 

sql:SQL命令字符串
con:连接sql数据库的engine,一般可以用SQLalchemy或者pymysql之类的包建立
index_col: 选择某一列作为index
coerce_float:非常有用,将数字形式的字符串直接以float型读入
columns:要选取的列。一般没啥用,因为在sql命令里面一般就指定要选择的列了

 
 
读取mongodb数据库
 
 
数据预处理
空值和缺失值处理

在python里面一般空值使用None表示,缺失值使用NaN表示。Pandas中提供了一些用于检查或处理空值和缺失值的函数。

  • isnull()函数
        该函数的参数只有一个,表示检查空值的对象。
 
  • notnull()函数
 
groupby()数据分组
  • 通过列名分组
 
  • 通过Series对象分组
 
通过字典分组
 
 

    今天的博客就到这了,本期我们一起学习了数据清洗与数据分析,因为这是一个很庞大的体系,所以我这里只列举了常用的一些,当然,也可能有遗漏的地方,后续我会继续添加补充。
    下一期我将带领大家学习爬虫的最后一弹,利用我们清洗完成的数据实现数据可视化。一起期待吧。
    如果你发现有问题或者有遗漏,欢迎指正~~

最新文章
大数据行业打击卖数据
导言:随着大数据技术的快速发展以及数字化时代的到来,数据已成为企业和个人生活中不可或缺的重要资产。有一部分企业或个人将倾向于将自己所获得的数据出售给第三方,这种行为引起了大数据行业的关注和警惕。本文将探讨大数据行业对于卖数
计算机系统优化的几种方法,轻松几个方法让电脑恢复正常速度
大家是不是经常出现这个的问题,电脑使用的越久,开机的时间会越来越长。这是因为随着使用时间的增加,电脑垃圾也会越来越多,影响到电脑的运行速度。那么有什么办法能解决电脑开机慢的问题吗?一、优化系统1、减少
视频号有效粉丝怎么买下单呢?视频号有效关注人数怎么算?
近年来,随着短视频的火爆,越来越多的人开始关注视频号。而为了提高视频号的曝光量和影响力,许多商家和自媒体人开始关注如何吸引有效粉丝。那么,如何让粉丝下单呢?如何计算视频号的关注人数是否有效呢?本文将为你一一解答。视频号有效粉丝怎
用AI绘制超逼真美女写真—最强生成工具推荐及详尽操作指南
DeepArt:使用深度神经网络,DeepArt能将普通的照片转化为艺术画作,其效果惊艳且充满创意。它的操作相对简单,非常适合不具备专业绘画技能的用户。但需要付费才能获得高清图像。搜狐简单AI:这款工具的功能相对丰富,不仅支持多种风格,还
独立站运营如何提升自主性?
在当下这个数字化时代,独立站已成为众多品牌和企业拓展线上业务的重要阵地。然而,面对激烈的市场竞争和瞬息万变的网络环境,如何有效提升独立站运营的自主性,成为了我们每一个运营者必须深思的问题。根据我多年的实战经验,我发现自主性
百度广告多用什么搜索引擎_百度搜索广告
赢在广告少!必应取代百度成国内桌面搜索引擎第一【CNMO新闻】提到百度相信大多数人的第一印象都会想到百度搜索。作为国内最知名的搜索引擎,自从谷歌退出国内市场后,百度就开始坐稳还有呢? 微软必应在中国内地桌面搜索市场的份额便进入了
Postman环境变量以及设置token全局变量!
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多
刁哥数学官方版 V2.0.1安卓版
刁哥数学官方版是一款高考数学学习软件。软件学习方式独特,数学学习高效,见效快,是高考充分阶段好帮手,让用户能观看所有视频,并下载。有需要的用户欢迎下载体验亲爱的小朋友,2016年高考无论你渴望数学要突破145,还是仅仅梦想着及格
相关文章
推荐文章
发表评论
0评