09_Numpy生成空ndarray数组的方法(empty和empty_like)
Numpy生成没有初始值空数组的方法如下:
- Numpy.empty()
- 大小(行数,列数)shape,类型由参数dtype来指定。
- Numpy.empty_like()
- 生成和已有数组相同大小,类型的数组。
生成的数组元素为随机数。
初始值为0或1,任意数数组生成方法参照以下链接。
Numpy.empty()空数组的生成
想要生成数组形状由参数shape指定,类型由参数dtype指定,默认的类型为float64。
import numpy as np
print(np.empty(3))
# [ -3.10503618e+231 -3.10503618e+231 -3.10503618e+231]
print(np.empty((2, 3)))
# [[ -3.10503618e+231 2.68677888e+154 6.92663118e-310]
# [ 1.06099790e-313 6.92663119e-310 4.17211958e-309]]
也可以通过参数dtype来进行指定。
print(np.empty(3).dtype)
# float64
print(np.empty(3, dtype=np.int))
# [-1152921504606846976 -1152921504606846976 -1152921504606846974]
print(np.empty(3, dtype=np.int).dtype)
# int64
Numpy.empty_like()空数组的生成
生成和已有数组相同形状,类型数组的方法。
参数值为原数组,生成数组的形状,类型将和原数组相同。
a_int = np.arange(6).reshape((2,3))
print(a_int)
# [[0 1 2]
# [3 4 5]]
print(np.empty_like(a_int))
# [[8070450532247928832 6917537789928580555 140196575903747]
# [ 21474836480 140196576086528 844446404968448]]
a_float = np.arange(6).reshape((2,3)) / 10
print(a_float)
# [[ 0. 0.1 0.2]
# [ 0.3 0.4 0.5]]
print(np.empty_like(a_float))
# [[ 0.00000000e+000 4.94065646e-324 9.88131292e-324]
# [ 1.48219694e-323 1.97626258e-323 2.47032823e-323]]
但也可以通过参数dtype进行类型的变更。
print(np.empty_like(a_float, dtype=np.int))
# [[0 1 2]
# [3 4 5]]