增删改查!sql2pandas方法手册

数据分析

Author:louwill

Machine Learning Lab

     

作为一名数据分析师,利用SQL熟练的取数是一项必备的基础能力。除了SQL以外,Python的pandas也为我们提供了SQL的大多数功能。自从从事算法之后就很少写SQL了,今天在整理印象笔记时趁机复习了一下,也花了点时间把SQL中主要的增删改查方法用pandas对应实现一遍。可以说是非常实用了。

标准的SQL查询语法如下:

select (distinct) [字段]	
from [表1] join [表2] on [匹配字段]	
where [过滤条件]	
group by [字段]	
having [过滤条件]	
order by [字段] desc	
limit [个数] offset [个数]

     我们以2018-19赛季部分NBA超巨的数据为例进行说明。该数据在pandas和MySQL中分别样式分别如下:

640?wx_fmt=png

640?wx_fmt=png

SQL的增删改查最主要的还是查询方法。我们先从查询方法开始。

select:选择球员、球队和场均得分三列:

640?wx_fmt=png

distinct: 查看这些球员都有哪几种球场位置:

640?wx_fmt=png

count:统计样本量

640?wx_fmt=png

分类值统计

640?wx_fmt=png

连续值描述性统计

640?wx_fmt=png

where

单条件:查找属于得分后卫的球员:

640?wx_fmt=png

多条件:查找属于得分后卫且得分大于27分的球员:

640?wx_fmt=png

in/not in 查找:

640?wx_fmt=png

order by 排序语句:

对球员得分进行排序:

640?wx_fmt=png

limit/offset语句:

对球员得分排序后取前三或者第二到第四

640?wx_fmt=png

group by语句:

求每个位置球员的平均得分并降序排序:

640?wx_fmt=png

having子句:

求每个位置球员的平均得分并筛选大于26分的记录:

640?wx_fmt=png

多表联立查询:inner join/outer(left right) join/union

给出新表如下:

640?wx_fmt=png

inner join

640?wx_fmt=png

left join:

640?wx_fmt=png

right join:

640?wx_fmt=png

union:

640?wx_fmt=png

主要的查询部分对照完了之后,我们再来看SQL和pandas中的增删改方法。

SQL中创建表、修改表、插入表和删除表的语句如下表所示:

640?wx_fmt=png

上述四种方法与之对应的pandas写法如下:

640?wx_fmt=png

参考资料:

https://pandas.pydata.org/pandas-docs/stable/getting_started/comparison/comparison_with_sql.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值