赞
踩
1、创建ndarray(一种多维数组对象)
创建数组最简单的办法就是使用array函数。它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的NumPy数组。
- import numpy as np
- data = np.array([1,2,3])
- print(data)
'运行
除np.array之外,还有一些函数也可以新建数组。比如,zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。
2、数组的拆分
(1)numpy.reshape 给数组一个新的形状而不改变其数据
(2)垂直拆分:numpy.vsplit
- import numpy as np
- c = np.arange(1,13).reshape(6,2)
- print(c)
- np.vsplit(c,3)
'运行
(3) 水平拆分:numpy.hsplit
- import numpy as np
- c = np.arange(1,13).reshape(6,2)
- d =c.T
- print(d)
- np.hsplit(d,3)
'运行
3、numpy基本加减和取行操作
- import numpy as np
- a = np.array([1,1,1,1])
- b = np.array([[1],[1],[1],[1]])
- print(a+b)
-
- c = np.array([[1,1,1,1]])
- print(c+b)
'运行
4、矩阵删除、插入、尾部添加操作(delete,insert,append)
numpy矩阵操作主要有delete()、insert()、append()等函数,分别执行删除、插入和添加的操作,注意append可以看为insert函数的特殊情况,即在尾部补充可以看为插入最后一行或列
(1)delete()函数
- import numpy as np
- matrix = [
- [1,2,3,4],
- [5,6,7,8],
- [9,10,11,12]
- ]
- p1 = np.delete(matrix, 1, 0) # 第0维度(行)第1行被删除(初始行为0行)
- print(p1)
- p2 = np.delete(matrix, 1, 1) # 第1维度(列)第1行被删除
- print(p2)
- p3 = np.delete(matrix, 1) # 拉平后删除第1个元素(初始为第0个)
- print(p3)
- p4 = np.delete(matrix, [0,1], 1) # 第1维度(列)第0、1行被删除
- print(p4)
'运行
(2)insert()函数
- import numpy as np
- matrix = [
- [1,2,3,4],
- [5,6,7,8],
- [9,10,11,12]
- ]
- q1 = np.insert(matrix, 1, [1,1,1,1], 0) # 第0维度(行)第1行添加[1,1,1,1]
- print(q1)
- q2 = np.insert(matrix, 0, [1,1,1], 1) # 第1维度(列)第0列添加1,1,1
- print(q2)
- q3 = np.insert(matrix, 3, [1,1,1,1], 0) # 第0维度(行)第3行添加[1,1,1,1]
- print(q3)
'运行
(3)append()函数
- import numpy as np
- matrix = [
- [1,2,3,4],
- [5,6,7,8],
- [9,10,11,12]
- ]
- m1 = np.append(matrix,[[1,1,1,1]],axis=0)
-
- #第0维度(行)尾部添加[[1,1,1,1]],注意两个[],相同维度
- print(m1)
- m2 = np.append(matrix,[[1],[1],[1]],axis=1)
-
- #第1维度(列)尾部添加[[1],[1],[1]],注意两个[],相同维度
- print(m2)
- m3 = np.append(matrix,[1,1,1,1])
-
- #拉平后再尾部添加[1,1,1,1],这里可以[[1,1,1,1]]和[1,1,1,1]均可
- print(m3)
'运行
5、np.random.choice(a, size, replace, p)
a是生成一维数组的来源,可以是int类型,可以是数组,也可以是list
size 数组的维度replace 表示从a中是否不重复抽取,默认可重复 p 给出抽取概率,默认随机
6、np.argmax(a, axis=None, out=None)
作用是返回轴的最大值的索引值
a:需要操作的数组或者矩阵,默认情况拉平成数组
axis:默认将a拉平,当axis=0对a按列取最大值索引,axis=1则对a按行取最大值索引
out:将结果写到a中
7、np.prod() 计算元素乘积
默认计算矩阵所有元素的乘积,也可以通过axis计算指定轴的乘积
技巧包括 maximum() 函数 、minimum() 函数,以及 矩阵操作的技巧
8、np.zeros_like()构造全零矩阵,无需指定大小
复制矩阵的维度,但是元素全是0
9、random.rand和random.rand和random.randint区别
(1)产生随机浮点数
np.random.rand() 生成均匀分布矩阵
创建一个矩阵,服从[0,1]随机分布
(2)np.random.randn() 生成正太分布矩阵
创建一个矩阵,服从N(0,1)标准正太分布。
一般正太分布N = ( μ , σ 2 ) N=(\mu ,\sigma^2)N=(μ,σ 2 )可通过 sigma * np.random.randn(…) + m 实现
(3)np.randm.randint() 生成离散均匀分布的整数值组成的矩阵
numpy.random.randint(low,high=None,size=None,dtype)
生成半开半闭区间[low, high)上离散均匀分布的整数值,未给出high时,区间变为[0, low)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。