文章转载自公众号:数据管道
Abstract
Pandas简介
Pandas把结构化数据分为了三类:
Dataframe实例:

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

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

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



WHERE(数据过滤)
在SQL中,过滤是通过WHERE子句完成的:

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

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

Pandas:

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

Pandas:

DISTINCT(数据去重)
SQL:

Pandas:

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

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

Pandas中对应的实现:

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

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

Pandas:

更多关于Groupy和数据透视表内容请阅读:
JOIN(数据合并)

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

Pandas:

SQL:

Pandas:

SQL:

Pandas:

SQL:

Pandas:

ORDER(数据排序)
SQL:

Pandas:

UPDATE(数据更新)
SQL:

Pandas:

DELETE(数据删除)
SQL:

Pandas:

总结:
本文从Pandas里面基本数据结构Dataframe的固定属性开始介绍,对比了做数据分析过程中的一些常用SQL语句的Pandas实现。
参考:https://mp.weixin.qq.com/s/E5LSszsKRxSa_fpJFqNABw
http://m.v.qq.com/play/play.htmlcoverid=&vid=q0836f6kewx&ptag=4_6.7.0.22106_qq