dataframe类型数据的遍历_Python零基础入门到爬虫再到数据分析,这些你都是要学会的...

808250591d25ea1043325b845f51ac3b.png

1.必须知道的两组Python基础术语

A.变量和赋值

Python可以直接定义变量名字并进行赋值的,例如我们写出a = 4时,Python解释器干了两件事情:

  • 在内存中创建了一个值为4的整型数据
  • 在内存中创建了一个名为a的变量,并把它指向4

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

eddca4a169f9cdc62d5f2b417f878c3f.png

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

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

B.数据类型

在初级的数据分析过程中,有三种数据类型是很常见的:

  • 列表list(Python内置)
  • 字典dic(Python内置)
  • DataFrame(工具包pandas下的数据类型,需要import pandas才能调用)

它们分别是这么写的:

列表(list):

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

字典(dict):

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

dict内部存放的顺序和key放入的顺序是没有关系的,也就是说,"章泽天"并非是在"刘强东"的后面。

DataFrame:

DataFrame可以简单理解为Excel里的表格格式。导入pandas包后,字典和列表都可以转化为DataFrame,以上面的字典为例,转化为DataFrame是这样的:

babd528ccb88593a80cbb1d5d8705760.png

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

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

从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爬虫中经常被应用,因为爬虫经常需要遍历每一个网页,以获取信息,所以构建完整而正确的网页链接十分关键。以某票房数据网为例,他的网站信息长这样:

bfd397edd09d2ffdd361c2bd401d7486.png
36a952e844cf5611cbbc8c669b4724a5.png

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

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

a79737b2321c61e2356f55574e87e6ce.png

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

533ba991690ef91d7e41d53588c0afb6.png

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

bea683b44caa422d17d3e096dfa3ef54.png

3.Python怎么实现数据分析?

A.Python分析

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

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

963f6e15e155c55cfa7a098d4a979779.png

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

85266952a673c77c35dee90fe6ef6ecd.png

B.函数化分析

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

6e62d47169402df383c7a9c4feb29913.png

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

8a49d1fafe748f8a79117991211bbaf5.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第5章 Python 数字图像处理(DIP) - 图像复原与重建12 - 空间滤波 - 使用频率域滤波降低周期噪声 - 陷波滤波、最优陷波滤波

标题使用频率域滤波降低周期噪声陷波滤波深入介绍最优陷波滤波本章陷波滤波器有部分得出的结果不佳,如果有更好的解决方案,请赐教,不胜感激。 使用频率域滤波降低周期噪声 陷波滤波深入介绍 零相移滤波器必须关于原点(频率矩形中心)对称&a…

Android之Menu动态改变文字

Menu创建: Override//这里遇到一个问题add的是MenuItem的idpublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.add(0,1023, 0, "一");menu.add(0,1022, 1, "开启线程");Log.e("onCreateOptionsMenu…

去掉xcode中警告的一些经验

1、编译时,编译警告忽略掉某些文件 只需在在文件的Compiler Flags 中加入 -w 参数,例如: 2、编译时,编译警告忽略掉某段代码 #pragma clang diagnostic push#pragma clang diagnostic ignored "-Wmultichar"char b df;…

富士施乐3065扫描教程_全面支持IT国产化 富士施乐70款机型获统信UOS兼容认证

最近,富士施乐(中国)有限公司宣布共70款机型获得国产操作系统统信UOS的兼容认证,其中包括新一代ApeosPort旗舰智能型数码多功能机、多功能一体机/打印机、生产型数字印刷系统。这是继获得中标麒麟、龙芯和兆芯兼容认证后&#xff…

第5章 Python 数字图像处理(DIP) - 图像复原与重建13 - 空间滤波 - 线性位置不变退化 - 退化函数估计、运动模糊函数

标题线性位置不变退化估计退化函数采用观察法估计退化函数采用试验法估计退化函数采用建模法估计退化函数运动模糊函数OpenCV Motion Blur在这一节中,得到的结果,有些不是很好,我需要再努力多找资料,重新完成学习,如果…

视觉感受排序算法

1. 快速排序 介绍: 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快&…

python如何自定义函数_python如何自定义函数_后端开发

c语言特点是什么_后端开发 c语言特点是:1、语言简洁、紧凑,使用方便、灵活;2、运算符丰富;3、数据结构丰富,具有现代化语言的各种数据结构;4、具有结构化的控制语句;5、语法限制不太严度格&…

第5章 Python 数字图像处理(DIP) - 图像复原与重建14 - 逆滤波

标题逆滤波逆滤波逆滤波 逆滤波 图像的退化函数已知或者由前面的方法获取退化函数,则可以直接逆滤波 F^(u,v)G(u,v)H(u,v)(5.78)\hat{F}(u,v) \frac{G(u,v)}{H(u,v)} \tag{5.78}F^(u,v)H(u,v)G(u,v)​(5.78) F^(u,v)F(u,v)N(u,v)H(u,v)(5.79)\hat{F}(u,v) F(u, …

表示自己从头开始的句子_微信拍一拍后缀幽默回复有趣的句子 拍了拍唯美内容文案...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。注图文来源网络,侵删 …

HoloLens开发手记 - Unity之Tracking loss

当HoloLens设备不能识别到自己在世界中的位置时,应用就会发生tracking loss。默认情况下,Unity会暂停Update更新循环并显示一张闪屏图片给用户。当设备重新能追踪到位置时,闪屏图片会消失,并且Update循环还会继续。 此外&#xff…

运维学python用不上_不会Python开发的运维终将被淘汰?

简介 Python 语言是一种面向对象、直译式计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明。Python 语法简捷而清晰,具有丰富和强大的类库,具有可扩展性和可嵌入性,是现代比较流行的语言。最流行的语言 IEEE Spectrum 的…

第5章 Python 数字图像处理(DIP) - 图像复原与重建15 - 最小均方误差(维纳)滤波

标题最小均方误差(维纳)滤波最小均方误差(维纳)滤波 目标是求未污染图像fff的一个估计f^\hat{f}f^​,使它们之间的均方误差最小。 e2E{(f−f^)2}(5.80)e^2 E \big\{(f - \hat{f})^2 \big\} \tag{5.80}e2E{(f−f^​)2…

入网许可证_入网许可证怎么办理,申请流程

移动通信系统及终端投资项目核准的若干规定》的出台,打开了更多企业进入手机业的大门,然而一些企业在关心拿到手机牌照后,是不是就是意味了拿到入网许可证,就可以上市销售。某些厂商认为:"手机牌照实行核准制,意味…

使用python matplotlib画图

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/52577631 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys 1,关于 非常简单的画图类库。 简直就是matlab的命令了。 python设计都是非常简单的。 在使用pyt…

碧桂园博智林机器人总部大楼_碧桂园职院新规划曝光!将建机器人实训大楼、新宿舍、水幕电影等...

4月10日,广东碧桂园职业学院召开院务(扩大)会议,学院党政班子领导和相关负责人出席。会议集中观看了学院四期工程的规划区介绍,并就具体方案的可行性进行了研讨。在碧桂园集团董事局主席杨国强先生的带领下,碧桂园职院正紧随集团产…

第5章 Python 数字图像处理(DIP) - 图像复原与重建16 - 约束最小二乘方滤波、几何均值滤波

标题约束最小二乘方滤波几何均值滤波约束最小二乘方滤波 F^(u,v)[H∗(u,v)∣H(u,v)∣2γ∣P(u,v)∣2]G(u,v)(5.89)\hat{F}(u,v) \bigg[\frac{H^*(u,v)}{|H(u,v)|^2 \gamma |P(u,v)|^2} \bigg]G(u,v) \tag{5.89}F^(u,v)[∣H(u,v)∣2γ∣P(u,v)∣2H∗(u,v)​]G(u,v)(5.89) P(u,…

securecrt是什么工具_比较一下几款常用的SSH工具

WX众号:基因学苑Q群:32798724更多精彩内容等你发掘!编者按工欲善其事,必先利其器。作为生物信息分析人员,每天都需要通过SSH工具远程登录服务器,那么使用一款高效的连接工具就很有必要。这次我们来点评一下…

华为手机如何调时间显示_华为手机照片如何出现时间地点天气,教你30秒,一学就会...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。 …

第5章 Python 数字图像处理(DIP) - 图像复原与重建17 - 由投影重建图像、雷登变换、投影、反投影、反投影重建

标题由投影重建图像投影和雷登变换 Johann Radon反投影滤波反投影重建由投影重建图像 本由投影重建图像,主要是雷登变换与雷登把变换的应用,所以也没有太多的研究,只为了保持完整性,而添加到这里。 # 自制旋转投影图像# 模拟一个…

day12-nginx

nginx 前台服务器并发大 安装nginx useradd –s /sbin/nologin nginx tar xf nginx-xxx.tar.gz yum install –y gcc pcre-devel openssl-devel ./configure --prefix/etc/nginx --usernginx --groupnginx --with-http_ssl_module --http-log-path/var/log/nginx/access.…