数据分析之PandasVSSQL!-创新互联

编辑:zone

创新互联-专业网站定制、快速模板网站建设、高性价比关岭网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式关岭网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖关岭地区。费用合理售后完善,十余年实体公司更值得信赖。

来源:数据管道

作者:艾德宝器

Abstract

  • Pandas是一个开源的Python数据分析库,结合 NumPy 和 Matplotlib 类库,可以在内存中进行高性能的数据清洗、转换、分析及可视化工作。

  • 对于数据开发工程师或分析师而言,SQL 语言是标准的数据查询工具。本文提供了一系列的示例,说明如何使用pandas执行各种SQL操作。

Pandas简介

Pandas把结构化数据分为了三类:

  • Series,可以理解为一个一维的数组,只是index可以自己改动。

  • DataFrame,一个类似于表格的数据类型的2维结构化数据。

  • Panel,3维的结构化数据。

Dataframe实例:

数据分析之Pandas VS SQL!

对于DataFrame,有一些固有属性:

数据分析之Pandas VS SQL!

SQL VS Pandas

SELECT(数据选择)

在SQL中,选择是使用逗号分隔的列列表(或*来选择所有列):

数据分析之Pandas VS SQL!

在Pandas中,选择不但可根据列名称选取,还可以根据列所在的位置选取。相关语法如下:

  • loc,基于列label,可选取特定行(根据行index)

  • iloc,基于行/列的位置

  • ix,为loc与iloc的混合体,既支持label也支持position

  • at,根据指定行index及列label,快速定位DataFrame的元素;

  • iat,与at类似,不同的是根据position来定位的;

数据分析之Pandas VS SQL!数据分析之Pandas VS SQL!数据分析之Pandas VS SQL!

WHERE(数据过滤)

在SQL中,过滤是通过WHERE子句完成的:

数据分析之Pandas VS SQL!

在pandas中,Dataframe可以通过多种方式进行过滤,最直观的是使用布尔索引:

数据分析之Pandas VS SQL!

在where子句中常常会搭配and, or, in, not关键词,Pandas中也有对应的实现:

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

在where字句中搭配NOT NULL可以获得某个列不为空的项,Pandas中也有对应的实现:

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

DISTINCT(数据去重)

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

宝器带你画重点

  • subset,为选定的列做数据去重,默认为所有列;

  • keep,可选择{'first', 'last', False},保留重复元素中的第一个、最后一个,或全部删除;

  • inplace ,Pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改,默认为False,返回一个新的Dataframe;若为True,不创建新的对象,直接对原始对象进行修改。

GROUP BY(数据分组)

groupby()通常指的是这样一个过程:我们希望将数据集拆分为组,应用一些函数(通常是聚合),然后将这些组组合在一起:

数据分析之Pandas VS SQL!

常见的SQL操作是获取数据集中每个组中的记录数。

数据分析之Pandas VS SQL!

Pandas中对应的实现:

数据分析之Pandas VS SQL!

注意,在Pandas中,我们使用size()而不是count()。这是因为count()将函数应用于每个列,返回每个列中的非空记录的数量。具体如下:

数据分析之Pandas VS SQL!

还可以同时应用多个函数。例如,假设我们想要查看每个星期中每天的小费金额有什么不同。

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

更多关于Groupy和数据透视表内容请阅读:

  • 这些祝福和干货比那几块钱的红包重要的多!

JOIN(数据合并)

  • 可以使用join()或merge()执行连接。

  • 默认情况下,join()将联接其索引上的DataFrames。

  • 每个方法都有参数,允许指定要执行的连接类型(LEFT, RIGHT, INNER, FULL)或要连接的列(列名或索引)

数据分析之Pandas VS SQL!

现在看一下不同的连接类型的SQL和Pandas实现:

  • INNER JOIN

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!
  • LEFT OUTER JOIN

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!
  • RIGHT JOIN

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!
  • FULL JOIN

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

ORDER(数据排序)

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

UPDATE(数据更新)

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

DELETE(数据删除)

SQL:

数据分析之Pandas VS SQL!

Pandas:

数据分析之Pandas VS SQL!

总结:

本文从Pandas里面基本数据结构Dataframe的固定属性开始介绍,对比了做数据分析过程中的一些常用SQL语句的Pandas实现。

参考:

http://m.v.qq.com/play/play.htmlcoverid=&vid=q0836f6kewx&ptag=4_6.7.0.22106_qq

当前文章:数据分析之PandasVSSQL!-创新互联
URL标题:https://www.cdcxhl.com/article4/cocjie.html

成都网站建设公司_创新互联,为您提供移动网站建设关键词优化网站内链标签优化网站排名网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设