Python NumPy创建数组方法

Python NumPy创建数组方法

NumPy是一个Python库,用于支持大量的多维数组和矩阵运算操作。它不仅可以用于科学计算、数据分析或计算机视觉等领域,而且这个库(或者说是数组对象)还拥有广泛的数学函数。

那么,对于Python初学者来说,如何快速创建NumPy数组呢?以下是具体的几种方法。

1. 从Python列表创建

该方法是最常用的方法之一:从Python列表创建一个NumPy数组。我们只需要将Python列表作为NumPy函数的参数即可。

代码示例:

import numpy as np

# 创建列表

my_list = [10, 20, 30]

# 从列表创建NumPy数组

my_array = np.array(my_list)

# 输出NumPy数组

print(my_array)

该段代码的输出结果为:

[10 20 30]

可以观察到,我们首先定义了一个Python列表my_list,然后使用np.array()函数从该列表中创建了一个NumPy数组my_array。

2. 从Python元组创建

除了Python列表之外,也可以通过Python元组来创建NumPy数组,方法与从Python列表创建类似。

代码示例:

import numpy as np

# 创建元组

my_tuple = (100, 200, 300)

# 从元组创建NumPy数组

my_array = np.array(my_tuple)

# 输出NumPy数组

print(my_array)

该段代码的输出结果为:

[100 200 300]

3. 使用arange创建数值范围数组

NumPy的arange()函数非常有用,它可以让我们快速创建一个数值序列数组,该函数需要三个参数:起始值、终止值、步长。如果只提供一个参数,则默认是这个参数作为终止值,起始值默认为0,步长为1。

代码示例1:

import numpy as np

# 创建起始值为0、终止值为9、步长为1的数组

my_range_array = np.arange(10)

# 输出数组

print(my_range_array)

该段代码的输出结果为:

[0 1 2 3 4 5 6 7 8 9]

代码示例2:

import numpy as np

# 创建起始值为1、终止值为9、步长为2的数组

my_range_array = np.arange(1, 10, 2)

# 输出数组

print(my_range_array)

该段代码的输出结果为:

[1 3 5 7 9]

4. 使用linspace创建数值范围数组

linspace()函数也可以用来创建一个数值序列数组,该函数需要三个参数:起始值、终止值、数组长度。该函数生成一个等差数列数组,默认包括终止值,同样可以不输入起始值,让起始值默认为0。

代码示例1:

import numpy as np

# 创建长度为6的数组,起始值为0,终止值为10

my_linspace_array = np.linspace(0, 10, 6)

# 输出数组

print(my_linspace_array)

该段代码的输出结果为:

[ 0. 2. 4. 6. 8. 10.]

从上面的代码中我们可以看到,生成的数组包含了起始值和终止值,因为它的长度已经设定,而不是设定步长。在这里,数组的长度为6,所以它是等差数列(差为2)。

代码示例2:

import numpy as np

# 创建长度为5的数组,起始值为1,终止值为10

my_linspace_array = np.linspace(1, 10, 5)

# 输出数组

print(my_linspace_array)

该段代码的输出结果为:

[ 1. 3.25 5.5 7.75 10. ]

5. 使用zeros和ones创建特殊数组

如果我们需要一个特定形状的数组,其中所有元素都是0或1,那么可以使用zeros()和ones()函数创建。我们需要用参数定义数组的形状。

代码示例1:

import numpy as np

# 创建一个3x3、值全为0的数组

my_zeros_array = np.zeros((3, 3))

# 输出数组

print(my_zeros_array)

该段代码的输出结果为:

[[0. 0. 0.]

[0. 0. 0.]

[0. 0. 0.]]

代码示例2:

import numpy as np

# 创建一个2x4、值全为1的数组

my_ones_array = np.ones((2, 4))

# 输出数组

print(my_ones_array)

该段代码的输出结果为:

[[1. 1. 1. 1.]

[1. 1. 1. 1.]]

6. 使用eye创建单位矩阵

单位矩阵(又称为恒等矩阵)是一个主对角线上全是1,其他位置都是0的矩阵。NumPy的eye()函数可以方便创建单位矩阵,使用该函数不需要指定矩阵的形状,只要输入一个数字N即可,它会自动创建一个NxN的矩阵。

代码示例:

import numpy as np

# 创建一个3x3的单位矩阵

my_eye_array = np.eye(3)

# 输出单位矩阵

print(my_eye_array)

该段代码的输出结果为:

[[1. 0. 0.]

[0. 1. 0.]

[0. 0. 1.]]

总结:

本文介绍了六种从不同来源创建NumPy数组的方法,分别是从Python列表创建、从Python元组中创建、使用arange创建数值范围数组、使用linspace创建数值范围数组、使用zeros和ones创建特殊数组、使用eye创建单位矩阵。这些方法都非常实用,而且易于理解和使用。

在实际应用中,用户可以根据不同需求进行选择,例如从Python序列中创建数组、或者创建矩阵。以上有提到的函数也可以根据需要进行调整。对于初学者而言,应该多实践、多熟悉这些函数,以达到熟练掌握它们的程度。

最后一个建议是:在练习时,可以调整不同参数的值,以加深对NumPy数组的使用和理解。

后端开发标签