一、empty函数介绍
numpy库是Python中进行科学计算的一个重要工具,在此库中有一些非常有用的函数,其中之一就是empty函数。empty函数用于创建一个指定大小的未初始化的数组,其元素的初始值取决于数组所分配的内存的状态。因此,empty函数创建的数组的元素值是未知的。
二、empty函数的基本使用
empty函数的使用格式如下:
numpy.empty(shape, dtype = float, order = 'C')
其中,shape
是一个整数元组用于指定数组的形状,dtype
参数是所需的数据类型,而order
参数是指定数组中元素的存储顺序。默认情况下,numpy按照C语言的方式存储元素。
示例代码:
import numpy as np
a = np.empty([2,2], dtype=int)
print(a)
输出结果:
array([[0, 0],
[0, 0]])
在上述代码中,我们成功地创建了一个2x2的整型数组,并且元素的初始值为0.
三、指定数组类型
我们可以使用dtype
参数指定数组的数据类型,接受标准的numpy数据类型。下面是一些示例代码:
import numpy as np
a = np.empty([2,2], dtype=float)
print(a)
输出结果:
array([[0., 0.],
[0., 0.]])
在上述代码中,我们创建了一个2x2的浮点型数组,并且元素初始值为0.
import numpy as np
a = np.empty([2,2], dtype=complex)
print(a)
输出结果:
array([[5., 6.],
[7., 8.]])
在上述代码中,我们创建了一个2x2的复数型数组,并且元素的值是未知的。
四、指定数组存储顺序
order
参数可以用来指定数组中元素的存储顺序,可以是'C'或'F',其默认值为'C',表示以C语言的方式存储元素。
示例代码:
import numpy as np
a = np.empty([2,2], dtype=int, order='F')
print(a)
输出结果:
array([[0, 0],
[0, 0]])
在上述代码中,我们创建了一个2x2的整型数组,并且指定其存储顺序为'F'。
五、empty_like函数
除了empty函数,numpy库还提供了empty_like函数。该函数将返回与给定数组具有相同形状和类型的未初始化新数组。empty_like函数的格式如下:
numpy.empty_like(prototype, dtype = None, order = 'K', subok = True, shape = None)
其中,prototype
是用于指定新数组的形状和类型的原型数组。
示例代码:
import numpy as np
x = np.arange(6).reshape(2,3)
a = np.empty_like(x)
print(a)
输出结果:
array([[ 0, 0, 1072693248],
[ 0, 0, 0]])
在上述代码中,我们创建了一个与原始数组x具有相同形状和类型的未初始化新数组。
六、empty函数的优点和缺点
empty函数适用于创建大型的数组,因为它不需要支付初始化元素的时间成本。empty函数相对于ones、zeros和full函数在速度上有优势,因为它不需要支付初始化元素的时间成本。但是在使用empty函数时,需要注意其创建的数组中的元素值是未知的,因此在大部分情况下,需要在创建数组之后手动进行元素的初始化。