入门实践,Python数据分析
1-2 Anaconda和Jupyter notebook介绍
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
Anaconda是什么
1 最著名的Python数据科学平台 2 750流行的Python&R包 3 跨平台:windows,Mac,Linux 4 condaL:可扩展的包管理工具 5 免费分发 6 非常活跃的社区复制代码
Anaconda的安装
1 下载地址:https://www.anaconda.com/download/ 2 检验是否安装成功 cd ~/anaconda anaconda bin/conda --version复制代码
Conda的Environment管理
1 创建一个新的environment conda create --name python34 python=3.42 激活一个environment activate python34 # for Windows source activate python34 # for linuc & Mac3 退出一个environment deactivate python34 # for Windows source deactivate python344 删除一个environment conda remmove --name python34 --all复制代码
Conda的package的管理
1 Conda的包管理有点类似pip 2 安装一个Python包 conda install numpy3 查看已安装的Python包 conda list conda list -n python34 # 查看指定环境安装的Python包4 删除一个Python包 conda remove -n python34 numpy复制代码
什么是iPython
- 一个强大的交互式shell
- 是jupyter的kernel
- 支持交互式数据分析和可视化
什么是Jupyter Notebook
- 前身是IPython notebookl
- 一个开源的web application
- 可以创建和分享包含代码,视图,注释的文档、
- 可以用于数据统计,分析,建模,机器学习等领域
notebook的文件格式(.ipynb)
- 由Ipython Notebook 定义的一种格式(json)
- 可以读取在线数据,CSV/XLS文件
- 可以转化为其他格式,(py,html.pdf,md等)
NBViewer
- 一个online的ipynb格式notebook展示工具
- 可以通过URL分享
- Github集成了NBViewer
- 通过转换器轻松集成到Blogs Emails,Wikis,Books
实验室环境
- 在Windows/Mac/Linux上安装Anaconda
- 在使用Python3.6作为基础环境
- 使用Jupyter Notebook 作为编程IDE
1-4 Anaconda在windows上安装演示
www.anaconda.com/products/in…
安装之后,按住win
点击jupyter botebook
浏览器输入localhost:8888
1-5 Anaconda在Linux上的安装演示
# 在linux机器中wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.shsh Anaconda3-2020.02-Linux-x86_64.sh# 进入命令号 1 按回车 2 yes 3 选择安装目录,这个时候目录不变,回车 需要两分钟 4 安装完之后需要选择什么什么玩意,选择yes在根目录中会看见一个anaconda的文件夹,进入文件夹可以看到很多目录 cd ~/anaconda3 cd bin可以很多的文件夹 ./anaconda --version # 查看conda版本号./jupyter notebook --no-browser # 在本地运行jupyter#要是抛错Running as root is not recommended. Use --allow-root to bypass../jupyter notebook --no-browser --allow-root# 但是这样只能本地访问jupyter,如何实现远程访问呢? ssh端口转发 # 在本地执行端口转发命令 ssh -N -f -L localhost:8888:localhost:8888 root@{ip地址} >>>password# 本地浏览器执行localhost:8888,就可以看见linux上的jupyter的页面了 执行print('hello world')# jupyter执行命令行 :ifconfig复制代码
1-6 Jupyter-notebook的使用演示
进入jupeter浏览器中之后 点击new-->Terminal,显示命令行界面# 换目录执行jupeter,并把当前目录当做工作目录 /root/anaconda3/bin/jupyter notebook --no-browser --allow-root复制代码
第2章 Numpy入门
2-1 数据科学领域5个常用Python库
numpy scipy Pandas Matplotlib Scikit-learn 复制代码
Number
数据处理里面最基础的库
- N维数组(矩阵),快速高效,矢量数学运算
- 高效的index,不需要循环
- 开源免费跨平台,运行效率足以和C/Matlab媲美
Scipy
- 依赖于Numpy
- 专为科学和工程设计
- 实现了多种常用科学计算:线性代数,傅里叶变换,信号和图像处理
Pandas
- 结构化数据分析利器(依赖Numpy)
- 提供了多种高级数据结构:Time-Series,DataFrame,Panel
- 强大的数据索引和处理能力
Matplotlib
- Python 2D绘图领域使用最广泛的套件
- 基本能取代Matlab的绘图功能(散点,曲线,柱形等)
- 通过mplot3d可以绘制精美的3D图
Scikit-learn
- 机器学习的Python模块
- 建立在Scipy之上,提供了常用的机器学习算法:聚类,回归
- 简单易学的API接口
2-2 数学基础回顾之矩阵运算
基本概念
- 矩阵:是指1xn或者nx1的矩阵
- 标量:1x1的矩阵
- 数组:N维的数组,是矩阵的延伸
特殊矩阵
矩阵加减运算
- 相加,相减的两个矩阵必须要有相同的行和列
- 行和列对应元素相加减
数组乘法(点乘)
矩阵乘法
清华大学出版的线性代数
http://www.wdfxw.net/goDownFiles.aspx?key=92039718 复制代码
2-3 Array的创建及访问
import munpy as np # create from python list list_1 = [1,2,3,4]array_1 = np.array(list_1) # 生成一个一维数组list_2 = [6,7,8,9] array_2 = np.array([list_1,list_2]) # 创建一个二维数组print(array_2) print(array_2.size) #数组里元素的个数 print(array_2.shape) # 查看矩阵或数组的维数 print(array_2.dtype) #数组元素的类型array_4 = np.arange(1,10,2) # 使用arange创建数组 print(array_4) # array([1, 3, 5, 7, 9]) np.zeros(5) # 全0矩阵 array([0., 0., 0., 0., 0.])np.zeros([2,3]) # 多维全0矩阵 array([[0., 0., 0.],[0., 0., 0.]])np.eye(5) # 单位矩阵 array([[1., 0., 0., 0., 0.],[0., 1., 0., 0., 0.],[0., 0., 1., 0., 0.],[0., 0., 0., 1., 0.],[0., 0., 0., 0., 1.]])# 数组的访问 a = np.arange(10) print(a) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) a[2] # 2 a[1:5] # array([1, 2, 3, 4]) b = np.array([[1,2,3,4],[5,6,7,8]]) # 矩阵 b[1,0] # 矩阵取值(第二个数组第一个值) # 5 c = np.array([[1,2,3],[4,5,6],[7,8,9]]) c[:2,1:] # 第一个元素是行,第二个元素是列 #array([[2, 3],[5, 6]])复制代码
2-4 数组与矩阵运算
快速创建数组
import numpy as npnp.random.randn(10) # 创建一个十维数组,且是动态分布的""" array([-0.7512065 , 0.97527973, -1.24433992, 0.86890475, -0.51251532,-0.02522675, -0.40664444, 0.66399272, -0.94669869, 1.52843227]) """ np.random.randint(10) # 返回一个10以内的随机整数np.random.randint(10, size=(2,3)) #返回一个值在10以内的2x3的数组 """ array([[1, 8, 1],[6, 1, 8]]) """np.random.randint(10,size=20).reshape(4,5) #返回一个大小为20的4x5的整数随机数组 """ array([[6, 6, 4, 8, 9],[0, 9, 1, 0, 8],[6, 2, 6, 1, 3],[5, 4, 8, 9, 2]]) """复制代码
数组的运算
a = np.random.randint(10,size=20).reshape(4,5) b = np.random.randint(10,size=20).reshape(4,5) # 生成的a,b都是一个元素值小于10,数量为20的一个4x5的多维数组a+b # 多维数组相加减就是对应位置元素值相加 a-b # 多维数组相加减就是对应位置元素值相减 a * b # 多维数组相乘就是对应位置元素值相乘 a / b # 多维数组相乘就是对应位置元素值做除法--有的时候会抛错,是因为如果数学运算中0不能做除数复制代码
矩阵
矩阵的命令其实跟数组差不多 np.mat([[1,2,3],[4,5,6]]) #创建一个矩阵 """ matrix([[1, 2, 3],[4, 5, 6]]) """# 数组转化为矩阵 a = np.array([1,2,3]) np.mat(a) # matrix([[1, 2, 3]])复制代码
矩阵的运算
A = np.mat(np.random.randint(10,size=20).reshape(4,5)) B = np.mat(np.random.randint(10,size=20).reshape(4,5)) A+B # 元素相加 A-B # 元素值相减# 矩阵的乘法运算要求第一个值得行和第二个值的列数量一致 A = np.mat(np.random.randint(10,size=20).reshape(4,5)) B = np.mat(np.random.randint(10,size=20).reshape(5,4))A * B """ matrix([[ 59, 137, 69, 80],[ 77, 174, 124, 142],[ 48, 128, 44, 124],[ 54, 121, 102, 94]]) """复制代码
Array常用函数
import numpy as npa = np.random.randint(10, size=20).reshape(4,5) np.unqiue(a) # 数组里面的唯一值sum(a) #将矩阵的所有的列的和重新组合成一个数组 """ matrix([[21, 16, 24, 17, 9]]) """sum(a[0]) # 计算某一行的值 sum(a[:,0]) # 计算某一列的值A.max() #查看数组中最大值a.max(a[0]) # 查看第一行的最大值 a.max(a[:,0]) # 查看第一列的最大值复制代码
使用pickle序列化Numpy array
import numpy as np x = np.arange(10)# 将数组保存到硬盘 f = open('x.pk1','wb') pickle.dump(x,f)# 读取硬盘中的数组 f = open('x.pk1','rb') pickle.load(f)np.save('one_array',x) # 将数组序列化到硬盘 np.load('one_array.npy') # 读取文件a = np.arange(10) b = np.arange(20) np.savez('two_array.npz',a=a,b=b) # 一个文件保存多个数组 c = np.load('two_array.npz') # 取数组 c['a'] c['b'] 复制代码
入门实践,Python数据分析相关推荐
- 【数据分析入门】python数据分析全过程梳理与代码实现
文章目录 数据分析 数据获取 探索分析与可视化 预处理理论 分析建模 评估模型 数据分析 数据获取 [数据分析入门]python数据分析之数据获取方法 探索分析与可视化 [数据分析入门]python数 ...
- Python 数据分析与展示笔记4 -- Pandas 库基础
Python 数据分析与展示笔记4 – Pandas 库基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考 ...
- Python 数据分析与展示笔记3 -- Matplotlib 库基础
Python 数据分析与展示笔记3 – Matplotlib 库基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展 ...
- Python 数据分析与展示笔记2 -- 图像手绘效果
Python 数据分析与展示笔记2 – 图像手绘效果 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考文档: ...
- Python 数据分析与展示笔记1 -- Numpy 基础
Python 数据分析与展示笔记1 – NumPy 基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考文档 ...
- 数据分析入门宝藏!《Python数据分析-从入门到实践》
在大数据.人工智能时代,数据无处不在,无论处于哪种行业,能够掌握一定的数据分析技能必然是职场的加分项. 本笔记提供了丰富的学习内容,包含230个快速示例.17个案例.4个项目,力求为读者打造一本&qu ...
- Python数据分析入门与实践
概述 Python数据分析主要基于Pandas的Serise和DataFrame去实现,Serise和DataFrame有点像php里的数组,在数据科学里叫矩阵. 把数据使用Pandas进行采样和机器 ...
- 一本Python数据分析入门宝藏书,快藏不住了!
入门数据分析最简单的途径就是去学习 Python 生态系统中,最流行也是最基础的库之一:Pandas,尤其对于从 Excel 转向 Python 的朋友来说,从效率到功能会发现很多惊喜. 为什么要使用 ...
- 介绍一本零基础入门Python数据分析的书
大家好,我是 Lemon. 有不少读者在询问如何入门Python.如何入门Python数据分析,之前跟大家分享了两本零基础入门Python的书籍:<Python编程从入门到实践> 和< ...
- python数据分析从入门到精通电子工业出版社_荐书丨Python数据分析从入门到精通...
点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 采用Python 3.6版本,兼容Python 3.X等众多版本 一本书搞定IPy ...
最新文章
- 《彩票假设》ICLR 2019 best paper 阅读笔记
- 比较好的电脑系统_win10电脑系统选择什么版本比较好
- php多文件读写,php使用多个进程同时控制文件读写示例
- 国务院学位委员会关于授予具有研究生毕业同等学力人员硕士、博士学位的规定
- 计算机cpu 和 主板型号,CPU和主板怎么搭配?intel七代/八代/九代处理器和主板搭配对照表...
- 大学生推荐书籍阅读【开阔视野、境界提升】
- 三班的孩子们,你们现在还好吗?
- centos 没有nmtui命令_Linux free 命令
- 【HDU - 6290】 奢侈的旅行 (对题目预处理 + DIjkstra最短路)
- “数学物理反问题”:专门研究“关系”,常跟工程师打交道
- Linux下安装Nginx详细图解教程
- numpy 在机器学习中 常用函数总结
- 操作系统 汤子瀛版 读书总结
- Redis Web版客户端工具——TreeNMS
- Access宏学习总结
- Android给图片加文字和图片水印
- XCTF密码学(入门二)
- Mysql 创建新用户授予root权限 或 最高权限
- 无货源开店已确认违法
- 爬取猫眼电影评分TOP100
热门文章
- 实践练习四:迁移 MySQL 数据到 OceanBase 集群
- MySQL实战 | 01 当执行一条 select 语句时,MySQL 到底做了啥?
- 构建高并发高可用的电商平台架构实践 转载
- slim框架中防止crsf攻击时,用到的函数hash_equals
- 线段树 + 字符串Hash - Codeforces 580E Kefa and Watch
- 函数实现不放在头文件的原因,及何时可以放头文件的情况【转】
- Robotium 数据驱动测试框架
- 创建用户的种类与区分
- Web2.0十大Ajax安全漏洞以及成因
- 在Spring中使用JDBC访问关系数据