文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

该用Python还是SQL?4个案例教你

2023-01-31 00:18

关注

在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答。每种语言都有其优势,它们之间也存在着不同的区别。不能否认的是,有些操作用Python执行起来要比SQL更加高效。这篇文章分享了4个能够节省时间的案例,在这几个案例中,Python在探索和分析数据集方面远远优于SQL。

描述性统计

假设你正在探索新的数据集,可以使用许多不同的方法来统计描述这些数据,并得到总体感知。例如:

· 计数

· 平均值

· 标准偏差

· 最小值

· 第一四分位数

· 第二四分位数(中位数)

· 第三四分位数

· 最大值

要想在SQL中得到以上信息,你需要输入:

 


 

但也许你并不想输入以上所有代码。你可以使用pandas的DataFrame.describe()函数来得出基础数据集的基本描述性统计信息。

datasets['Python Input'].describe().round(1)

查看此报告并仿照该报告自行探索描述性统计。

移动平均值

假设你现在想计算移动平均值,以便于在输入不断变化的情况下得到其明确的平均值。移动平均值有助于消除数据骤降和峰值的影响,从而使长期趋势更加显而易见。

在SQL中,你可以输入这样的查询(query):

 


 

在Python中,只需以下代码便可快速得到相同的两周移动平均值:

 


 

另外,Python能够进一步实现可视化。

枢轴

要想重新排列数据与枢轴以绘制图表或是演示文稿格式,在SQL中需要几个步骤才能实现。在这个案例中,需要将Mode Public Warehouse中大学橄榄球运动员的数据集从行枢轴转换到列枢轴。

首先,要汇总每年、每场比赛的运动员的信息来准备数据。

 


 

转换数据之后,需要将查询(query)嵌入子查询(subquery)中。

 


 

接下来,如果你想将结果按照年份分成几列,可以用SELECT语句为每个项单独创建列。

 


 

虽然这能使你很好地控制查询和进程,但是用Python操作实则要更加轻松。当你从年份和比赛中SELECT大学橄榄球运动员后,可以跳转到Notebook并运行DataFrame.pivot。你能根据列值重塑数据,因而可以重新排列结果集。

DataFrame.pivot

自连接

在很多情况下,你可能想要将一个表与其自身连接起来。要想创建自连接(self join),需要先输入此查询,以便为同一张表创建不同的引用名称。

 


 

在pandas中,我们可以这样实现:

 


 

想自己尝试建立自连接吗?仿照这篇报告来撰写你的个人Mode报告吧!

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯