数据科学原理与数据处理
基础知识
数据科学原理与数据处理
对数据科学和数据流程的解释
一 数据分析的工具
Jupyternotebook介绍
一、安装Jupyternotebook:
1.1、http://jupyter.org/官网下载安装包安装
1.2、pip install jupyter使用cmd命令安装,注意指定安装源为国内镜像:
pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
二、启动jupyter notebook
2.1.、在cmd中,先cd到保存jupyter文件的目录(方便以后查找),
2.2、然后输入jupyter notebook启动服务。
例如:
在cmd中,输入E:进入E盘,再cd到项目实战文件夹,然后在启动jupyter,编写的代码会保存在这个文件夹下。
2.3、在启动服务后会自动弹出网页,这个是jupyter的操作界面,点击右侧New选择python3打开编辑器
二 Numpy模块
2.1 Numpy介绍
Numpy的本质就是ndarray,是一个多维数组
2.2 Numpy安装和导入
- 安装:pip install numpy
2)导入:import numpy as np
2.3基础操作练习
2.3.1 导入包
import numpy as np
import array
检查Numpy当前版本:np.version
2.3.2 使用array初始化一个列表
arr = array.array(‘i’,list(range(1,10)))
arr
输出的结果为:
array(‘i’, [1, 2, 3, 4, 5, 6, 7, 8, 9])
i表示数列是整数
整个arr数列都必须是整形(i类型),修改也只能加入int。但是在创建多维数组的时候,我们需要使用另一种方法
2.3.3 使用numpy生成一个列表numpy.array([1,2,3])
创建一个numpy.array列表:
nparr = np.array(list(range(10)))
nparr
输出的结果为
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
数据的类型为:
type(nparr)
numpy.ndarray
查看列表中元素的类型:
nparr.dtype
输出的结果为:dtype(‘int32’)
2.3.4 Numpy.array可以通过下标来取元素
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
2.3.5 Numpy.array可以通过下标修改元素的值
注意,如果修改的值是浮点数,那么会把整个小数位去掉,保留整数部分,因为列表是一个int类型
2.3.6 如果列表中有一个元素是浮点数,那么整个列表就是浮点类型
2.3.7 numpy.array列表类型强制转换dtype=float:
可以在初始化列表的时候,使用dtype=float强制把int转换成float类型,反过来也一样
转换成浮点类型以后,会在整数后面加上一个小数点,表示1.0,2.0
2.4 numpy.array与python中的list和array的优点:
1、方便处理多维度数组或矩阵的运算,如加减乘除。
2、处理多维数组或矩阵,运算效率更高。
2.5 矩阵和随机数的生成numpy.arange(n)
2.5.1 三种生成方式:
2.5.2其中np.arange方式为经常使用可以有较为灵活的方法,比如:
可以设置起始数,终止数,步进
2.5.2 以小数位步进生成数列
2.6 初始化矩阵 numpy.zeros(n) 或 numpy.ones(n)
初始化一个矩阵,矩阵中有n个元素,这些元素都是“0”或者“1”,矩阵默认是浮点类型,如果需要整形矩阵,可以用dtype进行设置
2.7 初始化矩阵,指定元素值numpy.full(n,值)
如果在初始化矩阵的时候不想用“0”或者“1”,可以用numpy.full指定元素的值:
注意:在full后面不能调用shape方法,但是可以直接指定元素的行列(3, 5)
2.8 控制矩阵的行列shape=(n,m)
初始化矩阵的时候,可以通过shape方法,创建出指定行和列的矩阵。
注意:在指定shape之后,不能指定zeros的数量
2.9 等差数列numpy.linspace(n,m,x)
生成一个n到m之间长度相同的数,一共生成x个。
2.10 生成随机数numpy.random.randint(n,m)
在n到m之间随机生成一个随机数。
2.11 生成多维随机数numpy.random.randint(n,m,size=())
在n到m之间生成一个随机数矩阵,size控制行和列的数列,如果size只给一个值,那么只会生成一维数组
2.12 设置随机数种子–方便数据校验numpy.random.seed(n)
设置一个随机数种子n,这个代码无论执行多少次,都会得到相同的随机数
2.13 生成随机浮点数numpy.random.random()
生成一个随机的浮点数,()不用传参数,如果传参的话,可以传入一个shape()
3 numpy的基本操作
3.1 查看数组维度 A.ndim
3.2 查看数组行列数量 A.shape
3.3 查看数组元素个数 A.size
3.4 修改数组维度A.reshape(n,m)
对一个数组重新设定行列数量
A.reshape(n,m)中n和m也可以简写成-1
3.5 多维数组取值操作
可以通过下标获取多维数组内的元素,下图0代表第一列,1代表第一列第二个元素
3.6 一维数组切片操作
一维数组取值方法与python的list相同
3.7 二维数组切片操作
二维数组的切片需要传入一个二维坐标,先确定取n行的数据,然后再取这n行的m个元素。
3.8 二维数组切片加入步进
X[:2,:4:2]
可以使用简写;2表示取前两行,:4表示取前四个数,:2表示步进为2
3.9 二维数组的反转
取整个数组,选择步进为-1,可以将整个数组反转