我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据分析之Pandas VS SQL!

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据分析之Pandas VS SQL!

编辑:zone

来源:数据管道

作者:艾德宝器

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据分析之Pandas VS SQL!

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据分析之Pandas VS SQL!

编辑:zone来源:数据管道作者:艾德宝器AbstractPandas是一个开源的Python数据分析库,结合 NumPy 和 Matplotlib 类库,可以在内存中进行高性能的数据清洗、转换、分析及可视化工作。对于数据开发工程师或分析师
2023-06-02

python数据分析之pandas数据选

Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用。本文主要介绍Pandas的几种数据选取的方法。  Pandas中,数据主要保存为Dataframe和Series是数据结构,这两种数据结构数据选取的方式
2023-01-30

数据分析利器之Pandas

Pandas是一个python的开源库,它基于Numpy,提供了多种高性能且易于使用的数据结构。Pandas最初被用作金融数据分析工具而开发,由于它有着强大的功能,目前广泛应用于数据分析、机器学习以及量化投资等。下面来跟随作者一起认识下Pa
2023-06-02

数据分析之pandas模块

一、Series  类似于一位数组的对象,第一个参数为数据,第二个参数为索引(索引可以不指定,就默认用隐式索引)Series(data=np.random.randint(1,50,(10,)))Series(data=[1,2,3],in
2023-01-30

Python数据分析之pandas读取数据

一、三种数据文件的读取二、csv、tsv、txt 文件读取 1)CSV文件读取: 语法格式:pandas.read_csv(文件路径) CSV文件内容如下:import pandas as pd file_path = "e:\\panda
2022-06-02

Python数据分析库之pandas,你

写这个系列背后的故事咦,面试系列的把基础部分都写完啦,哈哈答,接下来要弄啥嘞~pandas吧外国人开发的翻译成汉语叫 熊猫厉害厉害,很接地气一个基于numpy的库干啥的?做数据分析用的而数据分析是python体系下一个非常庞大的分支厉害到,
2023-01-31

如何使用Pandas和SQL分析数据

我们在本教程中将探讨何时以及如何将SQL功能整合到Pandas框架中,并探讨其局限性。

数据分析之Pandas必知必会

Pandas是python中一个非常强大的库,对于数据分析师、数据科学家,乃至任何需要处理和分析数据的专业人士来说,Pandas都是一个不可或缺的工具。本文将为大家介绍Pandas的基础用法,帮助你迈出数据分析的第一步。

Python数据分析之pandas比较操作

目录一、比较运算符和比较方法二、两个DataFrame比较三、两个Series比较四、与数字或字符串比较五、与array进行比较一、比较运算符和比较方法 比较运算符用于判断是否相等和比较大小,Python中的比较运算符有==、!=、<、>、
2022-06-02

SQL数据分析之子查询

子查询用于为主查询返回其所需数据,或者对检索数据进行进一步的限制,通常将一个查询(子查询)的结果作为另一个查询(主查询)的数据来源或判断条件,常见的子查询有WHERE子查询,HAVING子查询,FROM子查询,SELECT子查询,EXIST

Python数据分析之Pandas Dataframe如何自定义

今天小编给大家分享一下Python数据分析之Pandas Dataframe如何自定义的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解
2023-06-30

利用Python进行数据分析之初识Pandas

Pandas是构建在Python编程语言之上的一个快速、强大、灵活且易于使用的开源数据分析和操作工具。Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集。

Python实践之使用Pandas进行数据分析

在数据分析领域,Python的Pandas库是一个非常强大的工具。这篇文章将为大家详细介绍如何使用Pandas进行数据分析,希望对大家有所帮助
2023-05-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录