import numpy as ny
"""
empty()仅仅分配数组所使用的内存,不对数组元素进行初始化操作,因此它的运行速度是最快的。
zeros()则将数组元素初始化为 0,ones()将数组元素初始化为 1。
1、numpy.empty(shape, dtype=float, order=’C’)
参数:
shape:int或int类型元组,表示矩阵形状
dtype:输出的数据类型
order:‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:
生成随机矩阵
"""
print('ny.empty((2,3),np.int):', ny.empty((2, 3), ny.int))
# ny.empty((2,3),np.int): [[ 538968416 1634623520 543188333]
# [1948283753 1847616872 543518049]]
"""
2、numpy.empty_like(a, dtype=None, order=’K’, subok=True)
参数:
a:返回值仿照的矩阵
dtype:输出的数据类型
order:‘C’ 、 ‘F’、 ‘A’、 ‘K’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主,‘A’表示以列为主存储,如果a是列相邻的,‘K’表示尽可能与a的存储方式相同
subok:bool类型,True:使用a的内部数据类型,False:使用a数组的数据类型
返回值:
生成与a相似(形态和数据类型)的随机矩阵
"""
a=ny.array([[1,2,3,4],[5,6,7,8]])
print('ny.empty_like(a): ',ny.empty_like(a))
print('ny.zeros_like(a): ',ny.zeros_like(a))
print('ny.ones_like(a): ',ny.ones_like(a))
"""
ny.empty_like(a): [[1617231946 0 1617264864 0]
[1617264896 0 1617264928 0]]
ny.zeros_like(a): [[0 0 0 0]
[0 0 0 0]]
ny.ones_like(a): [[1 1 1 1]
[1 1 1 1]]
"""
"""
3、numpy.eye(N, M=None, k=0, dtype=float)
参数:
N:行数
M:列数
k:对角线偏移
dtype:输出的数据类型
返回值:
对角矩阵(主对角线上元素都为1,其他元素都为0)——对角线向右上方偏移k(k>0向右上方偏移,k<0向左下方偏移)
"""
print('ny.eye(3):
',ny.eye(3))
print('ny.eye(4,k=2):
',ny.eye(4,k=2))
"""
ny.eye(3):
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
ny.eye(4,k=2):
[[0. 0. 1. 0.]
[0. 0. 0. 1.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
"""
"""
4、numpy.identity(n, dtype=None)
参数:
n:行数(也是列数)
dtype:输出的数据类型
返回值:
n*n对角矩阵(主对角线上元素都为1,其他元素都为0)
"""
print('ny.identity(3,dtype=int):
',ny.identity(3,dtype=int))
"""
ny.identity(3,dtype=int):
[[1 0 0]
[0 1 0]
[0 0 1]]
"""
"""
5、numpy.full(shape, fill_value, dtype=None, order=’C’)
参数:
shape:int或int类型序列,表示矩阵形状
fill_value:填充值
dtype:输出的数据类型
order:‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:
给定要求(形状、数据类型)填充的矩阵
"""
print('ny.full((2,3),1):
',ny.full((2,3),1))
a=ny.array([[1,2,3,4],[5,6,7,8]])
#每行的列数必须相同
print('ny.full_like(a,1):
',ny.full_like(a,1))
"""
ny.full((2,3),1):
[[1 1 1]
[1 1 1]]
ny.full_like(a,1):
[[1 1 1 1]
[1 1 1 1]]
"""