1、创建数组
直接创建数组
创建指定形状和内容的数组
| numpy.zeros(shape, dtype = float, order = 'C') |
| numpy.ones(shape, dtype = float, order = 'C') |
| numpy.empty(shape, dtype = float, order = 'C') |
参数 |
描述 |
shape |
数组形状 |
dtype |
数据类型(可选) |
order |
可选,有"C"和"F"两个选项,分别代表行优先和列优先,在计算机内存中的存储元素的顺序 |
从数值范围创建数组
| numpy.arange(start, stop, step, dtype) |
参数 |
描述 |
start |
起始值(默认0) |
stop |
终止值(不包含,即左闭右开) |
step |
步长(默认1) |
dtype |
数据类型(默认float64) |
| |
| numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) |
参数 |
描述 |
start |
序列起始值 |
stop |
序列的终止值,如果endpoint为true,该值包含于数列中 |
num |
要生成的等步长的样本数量,默认为50 |
endpoint |
该值为 true 时,数列中包含stop值,反之不包含,默认是True |
retstep |
如果为 True 时,生成的数组中会显示间距,反之不显示 |
dtype |
数据类型 |
| |
| np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None) |
参数 |
描述 |
start |
序列起始值(参数base的幂次) |
stop |
序列的终止值(参数base的幂次),如果endpoint为true,该值包含于数列中 |
num |
要生成的等步长的样本数量,默认为50 |
endpoint |
该值为 true 时,数列中包含stop值,反之不包含,默认是True |
base |
对数 log 的底数 |
dtype |
数据类型 |
例子:
| import numpy as np |
| |
| a = np.logspace(1.0, 2.0, num = 10) |
| print (a) |
输出:
| [ 1. 2. 4. 8. 16. 32. 64. 128. 256. 512.] |
从已有数组创建数组
| numpy.asarray(a, dtype = None, order = None) |
参数 |
描述 |
a |
任意形式的输入参数,如列表、元组, 元组的元组, 元组的列表,多维数组 |
dtype |
数据类型 |
order |
可选,有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序 |
2、数组索引和切片
数组的索引
简单的索引:
按条件筛选元素
| a[a < 3] |
| a[(a > 3) & (a % 2 == 0)] |
使用 slice 函数实现切片
数组的切片操作与 Python 中 list 的切片操作一样,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
| import numpy as np |
| a = np.arange(10) |
| s = slice(2,7,2) |
| print (a[s]) |
输出:
使用冒号实现切片
通过冒号分隔切片参数 start:stop:step 来进行切片操作
| import numpy as np |
| a = np.arange(10) |
| b = a[2:7:2] |
| print(b) |
输出:
冒号的解释:如果只放置一个参数,如[2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(左闭右开)之间的项。
实现有跨度的切片操作:
| a = np.array([1,2,3,4,5,6,7,8,9]) |
| |
| a[0:9:2] |
输出:
跨度可以为负数(逆向):
| a = np.array([1,2,3,4,5,6,7,8,9]) |
| a[4:1:-2] |
| |
| a[::-1] |
3、数组运算
乘法运算
点乘:
| a = np.array([1,2,3]) |
| b = np.array([4,5,6]) |
| np.dot(a,b) |
输出:
矩阵乘法:
@ 运算符等同与 np.matmul() 函数
| a = np.array([[1,2],[3,4]]) |
| b = np.array([[2,0],[0,2]]) |
| a@b |
输出:
其他运算
如:sqrt(), sin(), cos(), log(), power()等
4、数组统计函数
返回数组中最小、最大元素:
返回数组中最小、最大元素的索引:
返回所有元素的和、平均值、中位数、方差、标准差
| a.sum() |
| a.mean() |
| np.median(a) |
| a.var() |
| a.std() |
对于以上函数,如果数组是多维数组,可指定额外参数 axis,axis为不同的值(如0和1)分别代表在指定的维度上进行运算。
本文作者:yutian
本文链接:https://www.cnblogs.com/yutian-blogs/p/17971105
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步