Python的学习需要一个系统的规划,当然也是需要一些基础的功底和一些时间的付出~
Python现在正逐渐成为越来越流行的语言。随着科学领域的发展,以及Python语法简单、免费、跨平台兼容、面向对象及强大的第三方库等优点,使得其在数据挖掘、量化建模和机器学习领域有着广泛的应用。因此不管是对编程老司机还是初学者来说,Python都是一门很友好的语言 。
matplotlib,numpy,scipy,pandas这四个库是学习Python一定会接触到的库,也是使用Python进行数据分析使用频率最高的四个库。在日常工作中可以满足我90%+的数据分析需求。只要是通用的数据处理分析操作,几乎都有封装好的函数对应,不需要我们自己造轮子,简直是提升工作效率的神器。
那如何系统学习这四个库呢?我的理解这里的学习分两个阶段,第一个阶段是对这几个库有一个初步的认识和基本操作的了解,知道每个库是做什么的,了解这些库提供了哪些通用的子操作,用这些操作可以完成哪些数据分析任务。这个阶段我建议大家学习顺序是numpy,scipy,matplotlib ,pandas。并且推荐大家使用Wes McKinney编写的《Python for Data Analysis》或者中文翻译版《利用Python进行数据分析》学习。利益无关,并不是广告,这本书也不需要广告。书的作者就是pandas库的作者,可以说是Python大神本神了。同时也可以当做工具书使用,在需要使用时随时翻阅参考。
第二个学习阶段是在对这些库有基本的了解和熟悉后,在实际工作中我们如何高效的使用这些库解决问题。首先我们需要想的是如何将问题拆解为一个个我们已经了解的子操作,然后将这些子操作连接起来解决问题。如果有些子操作我们第一阶段学习时并没有接触到,首先想想这个子问题别人数据分析时是否也会遇到,这一步是不是也可以是一个通用操作。大部分的时候是的,那这个操作第三方库中基本就会有一个对应的函数去解决这个问题。这个时候最好的学习方式是百度问题,找到对应的操作函数,并阅读这个函数的官方说明文档。官方文档对库中的每一个函数都有详细的输入输出说明及例子。这样逐渐积累每个库函数的使用经验,对每个库也会有更深刻的理解,成为一个进阶的Python使用者。如果对库中的函数有任何细节上疑问,比如遇到函数bug或者不清楚函数参数,都可以搜索该函数的官方文档。养成阅读官方文档的习惯是一个良好的Python学习方式。
下面我会对这四个库分别进行介绍,希望可以给大家一个初步的认识。
numpy是高性能科学计算和数据分析的基础库,它是几乎所有数据分析高级库(比如scipy,pandas)的构建基础。numpy定义了一个具有矢量算术运算的高效多维数组(ndarray),以及一系列对整组数据的标准数学函数。好处在于代码简洁且速度快,无需编写循环。例如:
import numpy as np#导入numpy库
arr = np.array([1,2,3,4,5,6])#定义ndarray
arr*6
Out[35]: array([ 6, 12, 18, 24, 30, 36])
arr+arr
Out[36]: array([ 2, 4, 6, 8, 10, 12])
arr.std()#求标准差
Out[37]: 1.707825127659933
scipy建立在numpy 库之上,是一款方便、易于使用、专为科学和工程设计的python工具包,它包括了统计、优化、整合以及线性代数模块、傅里叶变换、信号和图像图例,常微分方差的求解等。由于我的工作较少遇到这些需求,这里不多做介绍,如果你的工作中会使用到这些知识,scipy是一个很好的帮手。
Matplotlib是Python的画图基础库,很多其他的可视化第三方库以它为基础。Python使用者可以使用这个库轻松地完成线形图、柱状图等操作,像excel绘图一样设置标签、图例、调整绘图大小等。例如:
from numpy.random import randn
import matplotlib.pyplot as plt
plt.plot(randn(50).cumsum())
Pandas也是基于numpy构建,提供更快更简单更丰富功能的高级数据结构和操作工具库。几乎所有numpy和matplotlib可以做到的事情,pandas都有更友好的方式做到。pandas的有点在于提供了高效的数据对其和缺失数据处理功能,高效的时间序列功能,整合了常用的画图功能,以及高效的数据分组功能,这使得pandas可以方便的解决绝大部分的数据分析需求。像上面的numpy和matplotlib的例子,可以使用pandas一站式解决。
import pandas as pd
arr = pd.Series([1,2,3,4,5,6])
arr.std()
Out[6]: 1.8708286933869707
arr.plot()
时间宝贵,请用pandas, 人生苦短,请用Python。
最后
为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。
👉Python学习路线汇总
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python必备开发工具👈
👉精品Python学习书籍👈
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
温馨提示:篇幅有限,已打包文件夹,获取方式:点击这里【 Python全套资料】 或扫描下方即可获取。
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉100道Python练习题👈
👉面试刷题👈
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
获取方式:点击这里【 Python全套资料】 或扫描下方即可获取。