网站商城建设费用,企业展示网站建设,酒店网站建设工作,装修设计培训学校有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了#xff0c;比较复杂。
很多网上的资料都是从语法教起的#xff0c;花了很多时间还是云里雾里#xff0c;摸不清方向。今天就给大家来捋一捋思路#xff01;帮助大家提高学习效率#xff01; Pyt…有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了比较复杂。
很多网上的资料都是从语法教起的花了很多时间还是云里雾里摸不清方向。今天就给大家来捋一捋思路帮助大家提高学习效率 Python数据分析资料可以点击下方链接或者扫描下方二维码获取 最新全套【Python入门到进阶资料 实战源码 安装工具】安全链接放心点击 三大板块
两组Python基础术语如何实现爬虫如何做数据分析
1.两大Python基础术语
A.变量和赋值
Python可以直接定义变量名字并进行赋值的例如我们写出a 4时Python解释器干了两件事情
在内存中创建了一个值为4的整型数据在内存中创建了一个名为a的变量并把它指向4
用一张示意图表示Python变量和赋值的重点 例如下图代码“”的作用就是赋值同时Python会自动识别数据类型:
复制代码a4 #整型数据
b2 #整型数据
c“4” #字符串数据
d“2” #字符串数据
print(“ab结果为”ab)#两个整数相加结果是6
print(“cd结果为”cd)#两个文本合并结果是文本“42”
#以下为运行结果
ab结果为 6
cd结果为 42请阅读代码块里的代码和注释你会发现Python是及其易读易懂的。
B.数据类型
在初级的数据分析过程中有三种数据类型是很常见的
列表listPython内置字典dicPython内置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[周杰伦]
40dict内部存放的顺序和key放入的顺序是没有关系的,也就是说章泽天并非是在刘强东的后面。
DataFrame
DataFrame可以简单理解为excel里的表格格式。导入pandas包后字典和列表都可以转化为DataFrame
以上面的字典为例转化为DataFrame是这样的
复制代码import pandas as pd
dfpd.DataFrame.from_dict(zidian,orientindex,columns[age])#注意DataFrame的D和F是大写
dfdf.reset_index().rename(columns{index:name})#给姓名加上字段名和excel一样DataFrame的任何一列或任何一行都可以单独选出进行分析。
是不是有很多东西在学Python新手入门教程的时候不懂的在这里悟了一些呢
以上三种数据类型是python数据分析中用的最多的类型基础语法到此结束接下来就可以着手写一些函数计算数据了。
2.从Python爬虫来学循环函数
掌握了以上基本语法概念我们就足以开始学习一些有趣的函数。我们以爬虫中绕不开的遍历url为例讲讲大家最难理解的循环函数for的用法
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数据地址可以通过抓包工具找到网址为www.cbooo.cn/BoxOffice/g…
仔细观察该网站不同日期的票房数据网址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属于dataframeurl_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,enginepython)
data[data[平均上座人数]20][电影名]
#计算周票房第一随时间变化的结果导入数据并选择平均上座人数在20以上的电影为有效数据
dataTop1_week data[data[排名]1][[电影名,周票房]]
#取出周票房排名为第一名的所有数据并保留“电影名”和“周票房”两列数据
dataTop1_week dataTop1_week.groupby(电影名).max()[周票房].reset_index()
#用“电影名”来分组数据相同电影连续霸榜的选择最大的周票房保留其他数据删除
dataTop1_week dataTop1_week.sort_values(by周票房,ascendingFalse)
#将数据按照“周票房”进行降序排序
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(bypf,ascendingFalse)
#将数据按照pf进行降序排序
dataTop1_sum.index dataTop1_sum[‘电影名’]
del dataTop1_sum[‘电影名’]
#整理index列使之变为电影名并删掉原来的电影名列
dataTop1_sum[:20].iloc[::-1].plot.barh(figsize (6,10),color ‘orange’)
namepf‘top20分析’
plt.title(name)
#根据函数变量名出图
定义函数后批量出图so easy 学会函数的构建一个数据分析师才算真正能够告别Excel的鼠标点击模式迈入高效分析的领域。
以上就是今天的全部内容分享觉得有用的话欢迎点赞收藏哦
Python经验分享
学好 Python 不论是用于就业还是做副业赚钱都不错而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。 小编是一名Python开发工程师自己整理了一套最新的Python系统学习教程包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程想通过学习Python转行、做副业或者提升工作效率这份【最新全套Python学习资料】 一定对你有用
包括Python激活码安装包、Python web开发Python爬虫Python数据分析人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python 最新全套【Python入门到进阶资料 实战源码 安装工具】安全链接放心点击 一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理形成各个领域的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了给大家节省了很多时间。 三、入门学习视频
我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。 四、实战案例
光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。 五、面试资料
我们学习Python必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有阿里大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 我已经上传至CSDN官方如果需要可以扫描下方官方二维码免费获取【保证100%免费】 *今天的分享就到这里喜欢且对你有所帮助的话记得点赞关注哦~下回见