NumPy学习第四课:数组的创建

68 阅读3分钟

前言

在之前的文章中,我们已经学习了数组的类型,属性等,那么从本节开始,我们就正式的开始步入到数组的创建了,需要注意的是,之前我们写的东西,最好动手去敲一敲,因为看似简单,但是敲与不敲区别就在那里,OK废话不多说,直接开整!!!!

创建数组方式

1、numpy.empty

含义:numpy.empty方法用来创建一个指定形状(shape)、数据类型(dtype)未初始化的数组

格式:numpy.empty(shape, dtype = float, order = 'C')

图例:

image.png

相关代码

import numpy as np
x = np.empty([2, 3], dtype=int)
print(x)

参数说明

参数名参数描述
shape数组形状
dtype数据类型,可选
order有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。

2、numpy.zeros

含义:创建指定大小的数组,数组元素以 0 来填充。

格式:numpy.zeros(shape, dtype = float, order = 'C')

图例:

image.png 相关代码

import numpy as np
b = np.zeros((5,), dtype=int)
print(b)

print('\n')
# 自定义类型
c = np.zeros((2, 2), dtype=[('x', 'i4'), ('y', 'i4')])
print(c)

3、 numpy.ones

含义:创建指定形状的数组,数组元素用1 来进行填充

格式:numpy.ones(shape, dtype = None, order = 'C')

图例

image.png

相关代码

import numpy as np

# 如果不写类型那么默认为浮点数
x = np.ones(6)
print(x)

# 自定义类型
x = np.ones([3, 3], dtype=int)
print(x)

4、 numpy.zeros_like

含义:numpy.zeros_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 0 来填充。 numpy.zeros 和 numpy.zeros_like 都是用于创建一个指定形状的数组,其中所有元素都是 0。 区别在于:numpy.zeros 可以直接指定要创建的数组的形状,而 numpy.zeros_like 则是创建一个与给定数组具有相同形状的数组。

格式:numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)

参数解释

参数名称参数描述
a给定要创建相同形状的数组
dtype数据类型
order有"C"和"F"两个选项,分别代表,行优先和列优先,默认为 'K'(保留输入数据的存储顺序)
subok是否允许返回子类,如果为 True,则返回一个子类对象,否则返回一个与 a 数组具有相同数据类型和存储顺序的数组
shape创建的数组的形状,如果不指定,则默认为 a 数组的形状。

图例

image.png

相关代码

import numpy as np

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

# 创建一个与 x 形状相同的,所有元素都为 0 的数组
zeros_arr = np.zeros_like(x)
print(zeros_arr)

5、 numpy.ones_like

含义:numpy.ones_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 1 来填充。 numpy.ones 和 numpy.ones_like 都是用于创建一个指定形状的数组,其中所有元素都是 1。 它们之间的区别在于:numpy.ones 可以直接指定要创建的数组的形状,而 numpy.ones_like 则是创建一个与给定数组具有相同形状的数组。

格式:numpy.ones_like(a, dtype=None, order='K', subok=True, shape=None)

参数说明

参数描述
a给定要创建相同形状的数组
dtype创建的数组的数据类型
order可选值为 'C'(按行优先)或 'F'(按列优先),默认为 'K'(保留输入数据的存储顺序)
subok是否允许返回子类,如果为 True,则返回一个子类对象,否则返回一个与 a 数组具有相同数据类型和存储顺序的数组
shape创建的数组的形状,如果不指定,则默认为 a 数组的形状。

图例:

image.png

相关代码:

import numpy as np

x = np.arange(24).reshape(3, 8)
print('x的数组')
print(x)
print('\n')
ones_arr = np.ones_like(x)
print('ones_arr的数组')
print(ones_arr)

相关学习链接:www.runoob.com/numpy/numpy…