Python新手入门教程_教你怎么用Python做数据分析

跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂。很多网上的资料都是从语法教起的,花了很多时间还是云里雾里,摸不清方向。很多激情饱满的小伙伴卡在了Python新手入门的前一步。

别着急嘛,激情还是要有的,坚持是要继续的,学习哪是一朝一夕的事情呢!!!

可别丧,坚持住,我来帮大家捋一捋头绪,捋一捋思路!帮助大家提高学习效率!

三大板块:两组Python基础术语

如何实现爬虫

如何做数据分析

1.两大Python基础术语

A.变量和赋值

Python可以直接定义变量名字并进行赋值的,例如我们写出a = 4时,Python解释器干了两件事情:在内存中创建了一个值为4的整型数据

在内存中创建了一个名为a的变量,并把它指向4

用一张示意图表示Python变量和赋值的重点:

例如下图代码,"=”的作用就是赋值,同时Python会自动识别数据类型:a=4?#整型数据

b=2?#整型数据

c="4”?#字符串数据

d="2”?#字符串数据

print("a+b结果为”,a+b)#两个整数相加,结果是6

print("c+d结果为”,c+d)#两个文本合并,结果是文本"42”

#以下为运行结果

>>>a+b结果为?6

>>>c+d结果为?42

请阅读代码块里的代码和注释,你会发现Python是及其易读易懂的。

B.数据类型

在初级的数据分析过程中,有三种数据类型是很常见的:列表list(Python内置)

字典dic(Python内置)

DataFrame(工具包pandas下的数据类型,需要import pandas才能调用)

它们分别是这么写的:

列表(list):#列表

liebiao=[1,2.223,-3,'刘强东','章泽天','周杰伦','昆凌',['微博','B站','抖音']]

list是一种有序的集合,里面的元素可以是之前提到的任何一种数据格式和数据类型(整型、浮点、列表……),并可以随时指定顺序添加其中的元素,其形式是:#ist是一个可变的有序表,所以,可以往list中追加元素到末尾:

liebiao.append('瘦')

ptint(liebiao)

#结果1

>>>[1,?2.223,?-3,?'刘强东',?'章泽天',?'周杰伦',?'昆凌',?['微博',?'B站',?'抖音'],?'瘦']

#也可以把元素插入到指定的位置,比如索引号为5的位置,插入"胖”这个元素:

liebiao.insert(5,?'胖')

ptint(liebiao)

#结果2

>>>[1,?2.223,?-3,?'刘强东',?'章泽天',?'胖',?'周杰伦',?'昆凌',?['微博',?'B站',?'抖音'],?'瘦']

字典(dict):#字典

zidian={'刘强东':'46','章泽天':'36','周杰伦':'40','昆凌':'26'}

字典使用键-值(key-value)存储,无序,具有极快的查找速度。以上面的字典为例,想要快速知道周杰伦的年龄,就可以这么写:zidian['周杰伦']

>>>'40'

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是大写

df=df.reset_index().rename(columns={'index':'name'})#给姓名加上字段名

和excel一样,DataFrame的任何一列或任何一行都可以单独选出进行分析。

是不是有很多东西在学Python新手入门教程的时候不懂的,在这里悟了一些呢!

以上三种数据类型是python数据分析中用的最多的类型,基础语法到此结束,接下来就可以着手写一些函数计算数据了。

2.从Python爬虫来学循环函数

掌握了以上基本语法概念,我们就足以开始学习一些有趣的函数。我们以爬虫中绕不开的遍历url为例,讲讲大家最难理解的循环函数for的用法:A.for函数

for函数是一个常见的循环函数,先从简单代码理解for函数的用途:zidian={'刘强东':'46','章泽天':'36','周杰伦':'40','昆凌':'26'}

for?key?in?zidian:

print(key)

>>>

刘强东

章泽天

周杰伦

昆凌

因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不是每次都一样。默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时#迭代key和value,可以用for k, v in d.items()

可以看到,字典里的人名被一一打印出来了。for 函数的作用就是用于遍历数据。掌握for函数,可以说是真正入门了Python函数。爬虫和循环

for函数在书写Python爬虫中经常被应用,因为爬虫经常需要遍历每一个网页,以获取信息,所以构建完整而正确的网页链接十分关键。以某票房数据网为例,他的网站信息长这样:

该网站的周票房json数据地址可以通过抓包工具找到,网址为http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate=20190114

仔细观察,该网站不同日期的票房数据网址(url)只有后面的日期在变化,访问不同的网址(url)就可以看到不同日期下的票房数据:

我们要做的是,遍历每一个日期下的网址,用Python代码把数据爬下来。此时for函数就派上用场了,使用它我们可以快速生成多个符合条件的网址:import?pandas?as?pd

url_df?=?pd.DataFrame({'urls':['http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate='?for?i?in?range(5)],'date'?:pd.date_range(20190114,freq?=?'W-MON',periods?=?5)})

'''

将网址相同的部分生成5次,并利用pandas的时间序列功能生成5个星期一对应的日期。

其中用到了第一部分提供的多个数据类型:

range(5)属于列表,

'urls':[]属于字典,

pd.dataframe属于dataframe

'''

url_df['urls']?=?url_df['urls']?+?url_df['date'].astype('str')

滑动滑块可以看到完整代码和中间的注释。

为了方便理解,我给大家画了一个for函数的遍历过程示意图:

此处省略掉后续爬取过程,相关爬虫代码见文末。我们使用爬虫爬取了5800+条数据,包含20个字段,时间囊括了从2008年1月开始至2019年2月十一年期间的单周票房、累计票房、观影人次、场均人次、场均票价、场次环比变化等信息。

3. 用Python实现数据分析?

除了爬虫,分析数据也是Python的重要用途之一,Excel能做的事,Python究竟怎么实现呢;Excel不能做的事,Python又是否能实现呢?利用电影票房数据,我们分别举一个例子说明:Python分析

在做好数据采集和导入后,选择字段进行初步分析可以说是数据分析的必经之路。在Dataframe数据格式的帮助下,这个步骤变得很简单。

比如当我们想看单周票房第一的排名分别都是哪些电影时,可以使用pandas工具库中常用的方法,筛选出周票房为第一名的所有数据,并保留相同电影中周票房最高的数据进行分析整理:import?pandas?as?pd

data?=?pd.read_csv('中国票房数据爬取测试20071-20192.csv',engine='python')

data[data['平均上座人数']>20]['电影名']

#计算周票房第一随时间变化的结果,导入数据,并选择平均上座人数在20以上的电影为有效数据

dataTop1_week?=?data[data['排名']==1][['电影名','周票房']]

#取出周票房排名为第一名的所有数据,并保留"电影名”和"周票房”两列数据

dataTop1_week?=?dataTop1_week.groupby('电影名').max()['周票房'].reset_index()

#用"电影名”来分组数据,相同电影连续霸榜的选择最大的周票房保留,其他数据删除

dataTop1_week?=?dataTop1_week.sort_values(by='周票房',ascending=False)

#将数据按照"周票房”进行降序排序

dataTop1_week.index?=?dataTop1_week['电影名']

del?dataTop1_week['电影名']

#整理index列,使之变为电影名,并删掉原来的电影名列

dataTop1_week

#查看数据

9行代码,我们完成了Excel里的透视表、拖动、排序等鼠标点击动作。最后再用Python中的可视化包matplotlib,快速出图:

函数化分析

以上是一个简单的统计分析过程。接下来就讲讲Excel基础功能不能做的事——自定义函数提效。观察数据可以发现,数据中记录了周票房和总票房的排名,那么刚刚计算了周票房排名的代码,还能不能复用做一张总票房分析呢?

当然可以,只要使用def函数和刚刚写好的代码建立自定义函数,并说明函数规则即可:

def pypic(pf):

#定义一个pypic函数,变量是pf

dataTop1_sum = data[['电影名',pf]]

#取出源数据中,列名为"电影名”和pf两列数据

dataTop1_sum = dataTop1_sum.groupby('电影名').max()[pf].reset_index()

#用"电影名”来分组数据,相同电影连续霸榜的选择最大的pf票房保留,其他数据删除

dataTop1_sum = dataTop1_sum.sort_values(by=pf,ascending=False)

#将数据按照pf进行降序排序

dataTop1_sum.index = dataTop1_sum['电影名']

del dataTop1_sum['电影名']

#整理index列,使之变为电影名,并删掉原来的电影名列

dataTop1_sum[:20].iloc[::-1].plot.barh(figsize = (6,10),color = 'orange')

name=pf+'top20分析'

plt.title(name)

#根据函数变量名出图

定义函数后,批量出图so easy:

学会函数的构建,一个数据分析师才算真正能够告别Excel的鼠标点击模式,迈入高效分析的领域。

学Python新手入门教程的同时认真看一下这篇文章,相信很多东西你会恍然大悟。

【注】本篇文章参考自微信公众号:小詹学Python,此公众号定期会分享Python相关学习教程。

python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析相关推荐

  1. 用python输出圣诞树_教你怎样用Python画了一棵圣诞树,赶紧来学习

    文中的文本及图片来源于互联网,仅作学习培训.沟通交流应用,不具备一切商业行为,如有什么问题请立即在线留言以作解决. 下列文章内容来源于IT新手入门 共享给大伙儿一篇文章,教你如何用Python画了一棵 ...

  2. python的精髓_教你玩转Python!一文总结Python入门到精髓的窍门

    (建议收藏) 很多人应该都有过这种经历,大量重复性工作:日报.周报.各种报,无穷无尽:不计其数的数据提取······琐碎繁杂的事务让工作的效率极低.如果可以一键完成就好了. 对这些问题来说,最高效的解 ...

  3. 教孩子学编程 python语言版_教孩子学编程 PYTHON语言版 PDF_IT教程网

    资源名称:教孩子学编程 PYTHON语言版 PDF 资源目录: 第1章Python基础--认识环境1 1.1认识Python3 1.2用Python编写程序5 1.3运行Python程序5 1.4本章 ...

  4. 免费python自学攻略-420小时学习代码之后:如何教你免费自学Python

    大约在1.5年前,我开始自学python编程.今天,我对于完成我的项目感到自信. 老实说,我认为对于我能够码出中级初学者级别的代码感到有点自豪.在过去的几个月持续快速提高后,我现在已经过了编程拐点-- ...

  5. python编程写完需要几年驾龄_编程小白怎么学Python,大概要多久才能学好?

    我就是从零基础开始学的Python,也算是一个过来人了吧,现在看来当初我也是走了许多弯路,来给大家分享一下我的经验吧. 一.首先是最重要的一点,想清楚你为什么要去学Python? 你是想要做一个网站, ...

  6. python怎么画人像_教你如何用Python画出心目中的自己

    原标题:教你如何用Python画出心目中的自己 引言:人脸图像的生成在各个行业有着重要应用,例如刑事调查.人物设计.教育培训等.然而一幅逼真的人脸肖像,对于职业画家也要至少数小时才能绘制出来:对于从未 ...

  7. python编程怎么建立工程_教你如何用Python脚本快速创建项目

    相信初学Cocos2D者对Python还很陌生,今天本篇教程教你如何用Python脚本快速创建项目. 在Cocos2d-x2.1.4以上的版本中,取消了使用vs模版创建项目的方法,开始使用python ...

  8. 怎么查看自己安装的python版本_教你如何检查 Python 版本

    本教程介绍如何使用 命令行检查操作系统上安装的 Python 版本.这在安装用 Python 编写的需要特定版本 Python 的应用程序时非常有用. Python 是世界上最流行的编程语言之一.它用 ...

  9. 用visio画用例图小人_教你如何用 Python 打飞机 ?

    前言:python 除了生孩子 ,啥都会 .包括打飞机 !今天就来教你如何用 python 打飞机 ! 简述 相信你是一个单纯的孩子说的打飞机是指啥意思 ,对吧 ?嗯 ,没毛病 .就是 pygame ...

最新文章

  1. php 图片生成vr_PHP 使用Krpano 生成全景图
  2. html背景图片垂直居中,css — 定位、背景图、水平垂直居中
  3. Ubuntu切换用户su和su-的区别
  4. 第45届国际大学生程序设计竞赛(ICPC)沈阳站太原理工大学收获1枚铜牌
  5. 身份证号每一位号码的意义
  6. JAVA RMI远程方法调用简单实例
  7. 拓端tecdat|Matlab正态分布、历史模拟法、加权移动平均线 EWMA估计风险价值VaR和回测Backtest标准普尔指数 SP500时间序列
  8. eclipse 改java版本_修改eclipse工程jdk版本
  9. 互联网15年风云变幻:改变世界的15个网站
  10. 考研数学:常见的初等函数求导公式以及其对应的积分公式
  11. 表妹也录取了计算机专业,作为过来人要给她领好路!
  12. 第一次作业——肖祥英
  13. python列表题目_Python列表练习题
  14. 是面试官放水,还是实在公司太缺人?这都没挂,阿里巴巴原来这么容易进...
  15. python爬iptv直播源_GitHub - xkloveme/iptv-m3u: python 爬的直播源数据
  16. atoi()函数用法
  17. Flash Loader Demonstrator无响应怎么办?
  18. Java基础 - AO BO DO PO VO DAO DTO POJO
  19. 网上图书商城系统毕业设计,网上图书销售系统设计与实现,毕业设计论文毕设作品参考
  20. java发送邮件将附件变成压缩包_请将实训期间制作的网站打成压缩包以附件形式提交。(含相应的文档资料)...

热门文章

  1. 视觉增强词向量:我是词向量,我开眼了!
  2. SICE:基于CNN的多曝光图像增强网络论文解读
  3. 谷歌字体下载安装(感觉没有很好用)
  4. 计算机公式大小写,excel大写金额公式
  5. (4)复函数与拉普拉斯变换
  6. 执着的数字思想者——Pascal之父
  7. 唐骏的成功——可以复制的成功
  8. [文献解读#3] 一种反向生态学方法:用基因流定义微生物种群
  9. 开篇 | 各城市互联网公司盘点+23届春招招聘信息汇总
  10. jsp用户注册简单实例