NumPy创建数组的10个函数
在 NumPy 中,数组对象的类型为 ndarray,可以通过 NumPy 模块中的相关函数进行创建,具体如下。
示例代码如下:
示例代码如下:
示例代码如下:
示例代码如下:
示例代码如下:
示例代码如下:
示例代码如下:
示例代码如下:
1、array()函数
array() 函数用于创建任意维度的数组对象,其语法格式如下:array(p_object,dtype)其中,参数 p_object 表示数组对象或序列;参数 dtype 表示数组对象中元素的数据类型,示例代码如下:
import numpy as np # 创建一维数组对象 a = np.array([1, 2, 3, 4, 5]) print(a) print(type(a)) print("===================================") # 创建二维数组对象 b = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) print(b) print(type(b)) print("===================================") # 创建三维数组对象 c = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]], [[13, 14, 15], [16, 17, 18]]]) print(c) print(type(c))运行结果为:
[1 2 3 4 5] <class 'numpy.ndarray'> =================================== [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] <class 'numpy.ndarray'> =================================== [[[ 1 2 3] [ 4 5 6]] [[ 7 8 9] [10 11 12]] [[13 14 15] [16 17 18]]] <class 'numpy.ndarray'>
2、arange()函数
arange() 函数用于创建指定起始值、结束值和步长的一维数组对象,并且该数组对象中的元素不包括结束值,其语法格式如下:arange(start,stop,step,dtype)
- 参数 start 表示开始值,如果省略该值,则默认值为 0;
- 参数 stop 表示结束值;
- 参数 step 表示步长,并且该值可以为负数,用于创建递减的数组对象,如果省略该值,则默认值为 1;
- 参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np a=np.arange(stop=10) print(a) print('========================') b=np.arange(1,10,2) print(b) print('========================') c=np.arange(1,-10,-3) print(c)运行结果为:
[0 1 2 3 4 5 6 7 8 9] ======================== [1 3 5 7 9] ==================== [ 1 -2 -5 -8]
3、linspace()函数
linspace() 函数用于创建指定起始值、结束值和元素个数的等差一维数组对象,其语法格式如下:linspace(start,stop,num,endpoint,retstep,dtype)
- 参数 start 表示开始值,如果省略该值,则默认值为 0;
- 参数 stop 表示结束值;
- 参数 num 表示数组对象中元素的个数;
- 参数 endpoint 用于设置数组对象中的元素是否包含结束值,如果省略该参数,则默认值为 True,即包含结束值;
- 参数 retstep 用于设置是否返回数组对象和公差组成的二元组,如果省略该值,则默认值为 False;
- 参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np a=np.linspace(0,10,9) print(a) print('========================') b=np.linspace(0,10,10,endpoint=False) print(b) print('========================') c=np.linspace(0,10,10,endpoint=False,retstep=True) print(f'{c}===={c[0]}===={c[1]}')运行结果为:
[ 0. 1.25 2.5 3.75 5. 6.25 7.5 8.75 10. ] ======================== [0. 1. 2. 3. 4. 5. 6. 7. 8. 9.] ======================== (array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.]), 1.0)====[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]====1.0
4、logspace()函数
logspace() 函数用于创建指定起始值、结束值和元素个数的等比一维数组对象,其语法格式如下:logspace(start,stop,num,endpoint,base,dtype)
- 参数 start 表示开始值,该值为 base∗∗start;
- 参数 stop 表示结束值,该值为 base∗∗stop;
- 参数 num 表示数组对象中元素的个数;
- 参数 endpoint 用于设置数组对象中的元素是否包含结束值,如果省略该参数,则默认值为 True,即包含结束值;
- 参数 base 表示底数;
- 参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np a=np.logspace(0,3,4) print(a) print('========================') b=np.logspace(0,3,4,base=2) print(b) print('========================') c=np.logspace(0,3,3,endpoint=False) print(c)运行结果为:
[ 1. 10. 100. 1000.] ======================== [ 1. 2. 4. 8.] ======================== [ 1. 10. 100.]
5、identity()函数
identity() 函数用于创建对角线元素为 1,其余元素为 0 的单位矩阵,其语法格式如下:identity(n,dtype)其中,参数 n 表示单位矩阵的阶数;参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np #2阶单位矩阵 a=np.identity(2) print(a) print('========================') #5阶单位矩阵 b=np.identity(5) print(b)运行结果为:
[[1. 0.] [0. 1.]] ======================== [[1. 0. 0. 0. 0.] [0. 1. 0. 0. 0.] [0. 0. 1. 0. 0.] [0. 0. 0. 1. 0.] [0. 0. 0. 0. 1.]]
6、eye()函数
eye() 函数用于创建对角线元素为1,其余元素为0的二维数组对象,其语法格式如下:eye(n,M,k,dtype)
- 参数 n 表示二维数组对象的行数;
- 参数 M 表示二维数组对象的列数,如果省略该值,则默认值为参数 n 的值;
- 参数 k 表示对角线在 1 轴上的索引;
- 参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np a=np.eye(3,4) print(a) print('========================') b=np.eye(3,4,k=1) print(b)运行结果为:
[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]] ======================== [[0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]]
7、one()函数
one() 函数用于创建元素全为1的任意维度的数组对象,其语法格式如下:ones(shape,dtype)其中,参数 shape 表示数组对象的形状;参数 dtype 表示数组对象中元素的数据类型,示例代码如下:
import numpy as np #创建一维数组对象 a=np.ones((3,)) print(a) print('========================') #创建二维数组对象 b=np.ones((3,3)) print(b) print('========================') #创建三维数组对象 c=np.ones((3,4,5)) print(c)运行结果为:
[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. 1. 1.]] [[1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.]]]
8、zeros()函数
zeros() 函数用于创建元素全为 0 的任意维度的数组对象,其语法格式如下:zeros(shape,dtype)其中,参数 shape 表示数组对象的形状;参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np #创建一维数组对象 a=np.zeros((3,)) print(a) print('========================') #创建二维数组对象 b=np.zeros((3,3)) print(b) print('========================') #创建三维数组对象 c=np.zeros((3,4,5)) print(c)运行结果为:
[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. 0. 0.]] [[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]]]
9、empty()函数
empty() 函数用于创建元素为随机初始化值的任意维度的数组对象,其语法格式如下:empty(shape,dtype)其中,参数 shape 表示数组对象的形状;参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np #创建一维数组对象 a=np.empty((3,)) print(a) print('========================') #创建二维数组对象 b=np.empty((3,3)) print(b) print('========================') #创建三维数组对象 c=np.empty((3,4,5)) print(c)数组中的元素为随机初始值,读者请自行运行程序查看结果。
10、full()函数
full() 函数用于创建所有元素为指定数值的任意维度的数组对象,其语法格式如下:full(shape,fill_value,dtype)其中,参数 shape 表示数组对象的形状;参数 fill_value 表示元素的值;参数 dtype 表示数组对象中元素的数据类型。
示例代码如下:
import numpy as np #创建一维数组对象 a=np.full((3,),7) print(a) print('========================') #创建二维数组对象 b=np.full((3,3),8) print(b) print('========================') #创建三维数组对象 c=np.full((3,4,5),9) print(c)运行结果为:
[7 7 7] ======================== [[8 8 8] [8 8 8] [8 8 8]] ======================== [[[9 9 9 9 9] [9 9 9 9 9] [9 9 9 9 9] [9 9 9 9 9]] [[9 9 9 9 9] [9 9 9 9 9] [9 9 9 9 9] [9 9 9 9 9]] [[9 9 9 9 9] [9 9 9 9 9] [9 9 9 9 9] [9 9 9 9 9]]]