首页 > 编程笔记

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)

示例代码如下:
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)

示例代码如下:
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)

示例代码如下:
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)

示例代码如下:
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]]]

推荐阅读