龙听期货论坛's Archiver

龙听 发表于 2024-3-13 09:58

Numpy(科学计算包)- 【创建数组 】

ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建。

numpy.empty

numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:[code]numpy.empty(shape, dtype = float, order = 'C')[/code][img]http://p.algo2.net/2024/0313/8dc018c5b4fa7.png[/img]

下面是一个创建空数组的实例:

实例[code]import numpy as np
x = np.empty([3,2], dtype = int)
print (x)[/code]输出结果为:[code][[ 6917529027641081856  5764616291768666155]
[ 6917529027641081859 -5764598754299804209]
[          4497473538      844429428932120]][/code]注意 − 数组元素为随机值,因为它们未初始化。

numpy.zeros

创建指定大小的数组,数组元素以 0 来填充:[code]numpy.zeros(shape, dtype = float, order = 'C')[/code][img]http://p.algo2.net/2024/0313/77eceabaf1b39.png[/img]

实例[code]import numpy as np

# 默认为浮点数
x = np.zeros(5)
print(x)

# 设置类型为整数
y = np.zeros((5,), dtype = int)
print(y)

# 自定义类型
z = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])  
print(z)[/code]输出结果为:[code][0. 0. 0. 0. 0.]
[0 0 0 0 0]
[[(0, 0) (0, 0)]
[(0, 0) (0, 0)]][/code]numpy.ones

创建指定形状的数组,数组元素以 1 来填充:[code]numpy.ones(shape, dtype = None, order = 'C')[/code][img]http://p.algo2.net/2024/0313/5ef96630ab74c.png[/img]

实例[code]import numpy as np

# 默认为浮点数
x = np.ones(5)
print(x)

# 自定义类型
x = np.ones([2,2], dtype = int)
print(x)[/code]输出结果为:[code][1. 1. 1. 1. 1.]
[[1 1]
[1 1]][/code]numpy.zeros_like

numpy.zeros_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 0 来填充。

numpy.zeros 和 numpy.zeros_like 都是用于创建一个指定形状的数组,其中所有元素都是 0。

它们之间的区别在于:numpy.zeros 可以直接指定要创建的数组的形状,而 numpy.zeros_like 则是创建一个与给定数组具有相同形状的数组。[code]numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)[/code][img]http://p.algo2.net/2024/0313/5394e425883ec.png[/img]

创建一个与 arr 形状相同的,所有元素都为 0 的数组:

实例[code]import numpy as np

# 创建一个 3x3 的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个与 arr 形状相同的,所有元素都为 0 的数组
zeros_arr = np.zeros_like(arr)
print(zeros_arr)[/code]输出结果为:[code][[0 0 0]
[0 0 0]
[0 0 0]][/code]numpy.ones_like

numpy.ones_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 1 来填充。

numpy.ones 和 numpy.ones_like 都是用于创建一个指定形状的数组,其中所有元素都是 1。

它们之间的区别在于:numpy.ones 可以直接指定要创建的数组的形状,而 numpy.ones_like 则是创建一个与给定数组具有相同形状的数组。[code]numpy.ones_like(a, dtype=None, order='K', subok=True, shape=None)[/code][img]http://p.algo2.net/2024/0313/0d478ff4b5afb.png[/img]

创建一个与 arr 形状相同的,所有元素都为 1 的数组:

实例[code]import numpy as np

# 创建一个 3x3 的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个与 arr 形状相同的,所有元素都为 1 的数组
ones_arr = np.ones_like(arr)
print(ones_arr)[/code]输出结果为:[code][[1 1 1]
[1 1 1]
[1 1 1]][/code]

页: [1]