大家好,我是大鹏,城市数据团联合发起人,致力于Python数据分析、数据可视化的应用与教学。 和很多同学接触过程中,我发现自学Python数据分析的一个难点是资料繁多,过于复杂。大部分网上的资料总是从Python语法教起,夹杂着大量Python开发的知识点,花了很多时间却始终云里雾里,不知道哪些知识才是真正有用的。本来以为上手就能写爬虫出图,却在看基础的过程中消耗了一周又一周,以至于很多励志学习Python的小伙伴牺牲在了入门的前一步。 于是,我总结了以下一篇干货,来帮助大家理清思路,提高学习效率。总共分为三大部分:做Python数据分析必知的语法,如何实现爬虫,怎么做数据分析。 1.必须知道的两组Python基础术语 A.变量和赋值 Python可以直接定义变量名字并进行赋值的,例如我们写出a = 4时,Python解释器干了两件事情:
用一张示意图表示Python变量和赋值的重点: 例如下图代码,“=”的作用就是赋值,同时Python会自动识别数据类型: a=4 #整型数据 请阅读代码块里的代码和注释,你会发现Python是及其易读易懂的。B.数据类型 在初级的数据分析过程中,有三种数据类型是很常见的:
它们分别是这么写的: 列表(list): #列表
字典(dict): #字典
dict内部存放的顺序和key放入的顺序是没有关系的,也就是说,'章泽天'并非是在'刘强东'的后面。 DataFrame: DataFrame可以简单理解为excel里的表格格式。导入pandas包后,字典和列表都可以转化为DataFrame,以上面的字典为例,转化为DataFrame是这样的: import pandas as pd df=pd.DataFrame.from_dict(zidian,orient='index',columns=['age'])#注意DataFrame的D和F是大写 和excel一样,DataFrame的任何一列或任何一行都可以单独选出进行分析。 以上三种数据类型是python数据分析中用的最多的类型,基础语法到此结束,接下来就可以着手写一些函数计算数据了。 2.从Python爬虫学循环函数 掌握了以上基本语法概念,我们就足以开始学习一些有趣的函数。我们以爬虫中绕不开的遍历url为例,讲讲大家最难理解的循环函数for的用法: A.for函数 for函数是一个常见的循环函数,先从简单代码理解for函数的用途:
因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不是每次都一样。默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时#迭代key和value,可以用for k, v in d.items() 可以看到,字典里的人名被一一打印出来了。for 函数的作用就是用于遍历数据。掌握for函数,可以说是真正入门了Python函数。 B.爬虫和循环 for函数在书写Python爬虫中经常被应用,因为爬虫经常需要遍历每一个网页,以获取信息,所以构建完整而正确的网页链接十分关键。以某票房数据网为例,他的网站信息长这样: 该网站的周票房json数据地址可以通过抓包工具找到,网址为http://www./BoxOffice/getWeekInfoData?sdate=20190114 仔细观察,该网站不同日期的票房数据网址(url)只有后面的日期在变化,访问不同的网址(url)就可以看到不同日期下的票房数据: 我们要做的是,遍历每一个日期下的网址,用Python代码把数据爬下来。此时for函数就派上用场了,使用它我们可以快速生成多个符合条件的网址: import pandas as pd 滑动滑块可以看到完整代码和中间的注释。 为了方便理解,我给大家画了一个for函数的遍历过程示意图: 此处省略掉后续爬取过程,相关爬虫代码见文末。我们使用爬虫爬取了5800+条数据,包含20个字段,时间囊括了从2008年1月开始至2019年2月十一年期间的单周票房、累计票房、观影人次、场均人次、场均票价、场次环比变化等信息。 3.Python怎么实现数据分析? 除了爬虫,分析数据也是Python的重要用途之一,Excel能做的事,Python究竟怎么实现呢;Excel不能做的事,Python又是否能实现呢?利用电影票房数据,我们分别举一个例子说明: A.Python分析 在做好数据采集和导入后,选择字段进行初步分析可以说是数据分析的必经之路。在Dataframe数据格式的帮助下,这个步骤变得很简单。 比如当我们想看单周票房第一的排名分别都是哪些电影时,可以使用pandas工具库中常用的方法,筛选出周票房为第一名的所有数据,并保留相同电影中周票房最高的数据进行分析整理:
9行代码,我们完成了Excel里的透视表、拖动、排序等鼠标点击动作。最后再用Python中的可视化包matplotlib,快速出图: B.函数化分析 以上是一个简单的统计分析过程。接下来就讲讲Excel基础功能不能做的事——自定义函数提效。观察数据可以发现,数据中记录了周票房和总票房的排名,那么刚刚计算了周票房排名的代码,还能不能复用做一张总票房分析呢? 当然可以,只要使用def函数和刚刚写好的代码建立自定义函数,并说明函数规则即可: def pypic(pf): 定义函数后,批量出图so easy: 学会函数的构建,一个数据分析师才算真正能够告别Excel的鼠标点击模式,迈入高效分析的领域。 4.光看不练是永远不能入门的 如果只有一小时学习,以上就是大家一定要掌握的Python知识点。光看不练永远都会是门外汉,如果你有兴趣学习Python数据分析,却在过程中感到困惑,欢迎来参加我在网易云课堂的免费直播,每晚一个主题,有学有练,让你快速入门Python数据分析: 不间断直播陪你从入门到精通 扫码即可预约免费直播席位 5.7 周二 20:00 《快速入门:搞定初学Python的十大易错点》 1. python基础语法学习路径 2. 十大易错点分别是哪些? 3. 用python实现第一个数据爬虫 5.8 周三 20:00 《告别加班:用Pandas代替Excel快速处理数据》 1. 如何用Python快速处理数据? 2. 初学者使用pandas最容易犯的错误 3. Pandas套路总结 5.9 周四 20:00 《穷人和富人就差1%的努力:用随机数模拟社会财富分配》 1. 什么是蒙特卡罗思想 2. 随机数模拟的前提:准确判断数据分布 3. 模型构建,模拟社会财富分配 5.13 周一 20:00 《Python数据可视化利器:pyecharts!》 1. 为什么需要交互式图表来做数据表达? 2. pyecharts基础操作 3. 数据可视化技能图谱详解 5.14 周二 20:00 《1小时入门python爬虫:当数据分析师就该自己爬数据!》 1. 快读读懂网页结构 2. 页面解析及标签提取 3. 实现第1个数据爬虫 5.15 周三 20:00 《用数据做攻略:找到一个城市最有趣的地方》 1.数据爬虫构建 2.字段筛选与数据清洗 3.筛选机制及评价方法 4.空间数据可视化表达结果 5.16 周四 20:00 《人口数据:揭秘一年来上海工作的人员流动情况》 1.全国人口迁徙数据采集 2.数据整理与核心城市筛选 3.数据表达:OD图制作方法与技巧 赠送免费课程 课程大纲 1. Python语言入门 2. 每月净收入模型构建 3. 每月支出模型构建 4. 不同情况下的花呗还款场景模拟 5. 负债积累问题 6. 如何用图表讲好一个故事?(彩蛋) 6G入门资料 本文所示票房数据爬取和分析代码以及中国票房数据源数据,已经放在百度网盘6g资料包内 福利领取方式 所有以上福利,扫码添加网易云课堂小助手即可获得 微信号:neteasepython 席位有限,先到先得 |
|