一、什么是Numpy
Numpy是python开源的科学计算工具包,属于高级的数值编程工具:
- 强大的N维数组对象:ndarray
- 对数组结构数据进行运算(不用遍历循环)
- 随机数、线性代数、傅里叶变换等功能
关于Numpy一般需要掌握以下内容:
- Numpy基础数据结构
- Numpy通用函数
- Numpy索引及切片
- Numpy随机数
- Numpy数据的输入输出
二、Numpy基础数据结构
Numpy数组是一个多维数组对象,称为ndarray,其由两部分构成:
- 实际的数据
- 描述这些数据的元数据
import numpy as np
ar=np.array([[1,2,3,4,5,6],[2,3,4,5,6,7],[3,3,4,5,6,7]])
print([1,2,3,4,5])
print(ar,type(ar))
print(ar.ndim) # 查看有多少个轴
# 一维数组就是一行
# 二维数组是多个一维数组
# 三维数组是多个二维数组
print(ar.shape) # 数组的维度,对于n行m列的数组,shape为(n,m)
print(ar.size) # 总共的元素的个数
print(type(ar),ar.dtype) # ar的类型,数值的数据类型
print(ar.itemsize) # 每个元素的字节大小
1、如何创建数组
可以用array()函数来创建,括号内可以是列表、元祖、数组、生成器等:
ar1=np.array(range(10))
ar2=np.array(10)
ar3=np.array([1,2,3,4,5])
ar4=np.array([[1,2,3,4,5],[1,2,3,4,5]])
print(ar1)
print(ar2)
print(ar3)
print(ar4)
print(np.random.rand(10).reshape(2,5))
2、arange()
arange()类似于range(),在给定间隔内返回均匀间隔的数值:
print(np.arange(10)) # 返回0~9,整型
print(np.arange(10.0)) # 返回0.0~9.0,浮点型
print(np.arange(5,15)) # 返回5~14
print(np.arange(5.0,12.0,2)) # 返回5.0~12.0,步长为2
print(np.arange(100000000)) # 如果数组太大无法打印,Numpy会自动跳过数组中心部分
3、linspace()
linspace()可以用来返回在间隔[开始,停止]上计算的num个均匀间隔的样本:
print(np.linspace(10,15,num=20))
print(np.linspace(10,15,num=20,endpoint=False))
# endpoint指的是末尾的数值包不包含,其默认值为True
</