注意:以下所有实例需要事先引入numpy
import numpy as np
- random.randn 函数
作用:生成一个指定行列数的随机数组
例:生成一个2行3列的随机数组
data=np.random.randn(2,3) # 生成2行3列随机数组
print(data)
结果
[[ 0.40444093 -0.06987251 0.00759544]
[ 1.22969751 0.39730171 1.42576693]]
- shape函数
作用: 查看数组形状
例:查看data数组的形状
print(data.shape) # 查看数组的形状
结果
(2, 3)
- dtype函数
作用:查看数组的数据类型
例:查看data数组的形状
print(data.dtype)
结果
float64
- array( ) 函数
作用1:将列表转换为数组
例1:将data1转换为数组
data1=[1,2,3,4,5,6] # 将列表转换为数组类型
arr1=np.array(data1)
print(arr1)
print(type(arr1))
print(arr1.dtype)
结果:
[1 2 3 4 5 6]
<class 'numpy.ndarray'>
int32
作用2:嵌套序列,例如同等长度的列表,将会自动转换成多维数组
例2:将两个列表转换为数组
data2=[1,2,3,4,5],[6,7,8,9,10] # 嵌套序列,例如同等长度的列表,将会自动转换成多维数组:
arr2=np.array(data2)
print(arr2)
print(type(arr2))
print(arr2.ndim) # 显示数组的维数
print(arr2.shape) # 显示数组的形状
结果
[[ 1 2 3 4 5]
[ 6 7 8 9 10]]
<class 'numpy.ndarray'>
2
(2, 5)
- zeros函数
作用:创建一个全零的数组
例1:创建一个1行10列的全0数组
arr3=np.zeros(10) # 创建一个全0的一维数组
print(arr3)
结果
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
例2:创建一个5行10列的全零数组
arr4=np.zeros((5,10)) # 创建一个5行10列的全零数组
print(arr4)
结果:
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
- ones 函数
作用:创建一个全1数组
例:创建一个5行10列的全1数组
arr5=np.ones((5,10)) # 创建一个5行10列的全一数组
print(arr5)
结果
[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
- empty 函数
作用:创建空数组
注意:这个函数只是用于创造一个给定形状、但未初始化实体的数组,空在其值,而非其型。
例:创建一个2维3行2列的空数组
arr6=np.empty((2,3,2)) # 创建一个二维三行两列的空数组
print(arr6)
结果
[[[6.23042070e-307 1.42417221e-306]
[1.37961641e-306 1.33508845e-306]
[1.33511969e-306 1.24610383e-306]]
[[1.69118108e-306 8.06632139e-308]
[1.20160711e-306 1.69119330e-306]
[1.29062229e-306 8.45590539e-307]]]
- arange 函数
作用:根据给的范围创建一维数组
例:创建一个取值为0到14的数组
arr7=np.arange(15) # 创建一个值为0-14的一维数组
print(arr7)
结果
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
- zero_like、ones_like、empty_like 函数
作用:创建一个和指定的数组一样结构的全0、全1、空数组
例1:创建一个和arr6相同结构的全0数组
arr8=np.zeros_like(arr6) # 创建一个和指定数组一样结构的全零数组
print(arr8)
结果
[[[0. 0.]
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]]]
例2:创建一个与arr8结构相同的全1数组
arr9=np.ones_like(arr8) # 创建一个和指定数组一样结构的全零数组
print(arr9)
结果
[[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]]
例3:创建一个与arr9结构相同的空数组
arr10=np.empty_like(arr9) # 创建一个和指定数组一样结构的空数组
print(arr10)
结果
[[[1.60218763e-306 9.79107872e-307]
[9.79086142e-307 9.34598246e-307]
[1.69119330e-306 1.42419802e-306]]
[[9.34611827e-307 1.05699327e-307]
[8.01093135e-307 2.33638357e-307]
[1.24610994e-306 0.00000000e+000]]]
- full函数
作用:根据指定形状和数据生成指定数据的数组
例:生成一个3维2行2列值全都为10的数组
arr11=np.full((3,2,2),10)
print(arr11)
print(arr11.ndim)
结果
[[[10 10]
[10 10]]
[[10 10]
[10 10]]
[[10 10]
[10 10]]]
3
- full_like函数
作用:根据所给数组生成一个形状一样,数据指定的数组
例:生成一个与arr11形状一样,值全都是20的数组
arr12=np.full_like((arr11),20) # 根据所给数组生成一个形状一样,数据指定的数组
print(arr12)
结果
[[[20 20]
[20 20]]
[[20 20]
[20 20]]
[[20 20]
[20 20]]]
- eye 函数
作用:生成一个n*n的特征矩阵
例:生成一个3行4列的特征矩阵
arr13=np.eye(3,4) # 生成一个n*n的特征矩阵
print(arr13)
结果
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]]
- identity 函数
作用:生成一个特征行列式
例:生成一个行列数为3的特征行列式
arr14=np.identity(3) # 生成一个3行3列的行列式
print("**************")
print(arr14)
结果
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
注意:以上函数可以根据需要结合在一起使用