数据科学原理与数据处理

基础知识

数据科学原理与数据处理

对数据科学和数据流程的解释

数据科学原理与数据处理

一 数据分析的工具

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安装和导入

  1. 安装: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,可以将整个数组反转