优势
- 快速;
- 方便;
- 科学计算的基础库;
介绍
一个在Python中做科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用在大型、多维数组上执行数值运算。
使用
数组
- 创建数组:
import numpy as np a_1 = np.array([1, 2, 3, 4, 5]) a_2 = np.array(range(1, 6)) a_3 = np.arange(1, 6)
- 以上三个数组的内容相同;
- arange()与range()区别:
- arange([start, ]stop[, step][, dtype=None])
- dtype是指数组中存放的数据的类型。会在Python基础类型后加一个显示位数的数字,比如int64(表示有符号和无符号位的64位(8字节)整型数据);
- 默认根据电脑位数存储;
- 传入参数可更改数据类型(比如np.int8);
- 使用astype()方法可通过传参改变数组类型,会形成新数组,不影响原数组数据;
- arange([start, ]stop[, step][, dtype=None])
np.random.random()
- 生成0~1的随机小数;
np.round(array, n)
- 对传入的数列进行取N位小数操作;
- 数组的形状:
- 查看形状:
- array.shape()
- 重塑形状:
- array.reshape(x,y,z[,…])
- n个参数则产生n维数组;
- 举例:
输出结果为:array_1 = np.arange(24) array_2 = array_1.reshape(2, 3, 4)
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23] [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]]
- 注意:数组元素数目必须与参数乘积相等,否则报错;
- array.flatten()
- 将数组展开成一维数组;
- array.reshape(x,y,z[,…])
- 查看形状:
- 数组的计算:
- 数组与数字做运算:
- 对数组进行加减乘除相当于对数组的每个数字进行相应计算;
- 注意:在numpy中对0做除法,0/0 = nan;n/0 = inf;
- 数组与数组同形时做运算,对应位置做运算;
- 数组与数组列数相同时,每行做一次运算;
- 数组与数组行数相同时,每列做一次运算;
- 注意:如果两个数组的后缘维度(从末尾开始算起的维度)的轴长度相符或者其中一方的长度为一,则默认他们是广播兼容的。广播会在缺失或(和)长度为一的维度上进行;
- 数组与数字做运算: