NumPy是Python中最受欢迎的科学计算库之一。它提供了一个强大的多维数组对象,以及用于处理数组的各种函数和工具。 许多数字和科学计算库都依赖于NumPy作为其基础库。 在本文中,我们将介绍NumPy中最常见的10个使用模式。

1. 创建NumPy数组

要创建一个NumPy数组,您可以使用numpy.array()函数,并传递一个序列作为参数。序列可以是列表、元组或其他序列类型。 例如:

“`

import numpy as np

a = np.array([1, 2, 3])

print(a)

“`

输出结果:

“`

[1 2 3]

“`

2. 改变数组形状

使用numpy.reshape()函数,您可以更改NumPy数组的形状。通过指定新的形状参数,您可以将数组转换为不同的维度。 例如:

“`

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])

b = a.reshape((3, 2))

print(b)

“`

输出结果:

“`

[[1 2]

[3 4]

[5 6]]

“`

3. 数组索引和切片

NumPy数组的索引和切片方式与列表或元组类似。您可以使用方括号[]操作符,并指定元素的位置或范围。 例如:

“`

import numpy as np

a = np.array([1, 2, 3, 4, 5])

print(a[2])

print(a[1:4])

“`

输出结果:

“`

3

[2 3 4]

“`

4. 数组运算

NumPy数组支持广播和通用函数(ufunc)。广播允许您使用不同形状的数组进行算术运算,而通用函数提供了各种数学和逻辑操作。 例如:

“`

import numpy as np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

print(a + b)

print(np.sqrt(a))

“`

输出结果:

“`

[5 7 9]

[1. 1.41421356 1.73205081]

“`

5. 数组堆叠

使用numpy.hstack()或numpy.vstack()函数,您可以将两个或多个数组垂直或水平堆叠。 例如:

“`

import numpy as np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

print(np.vstack((a, b)))

print(np.hstack((a, b)))

“`

输出结果:

“`

[[1 2 3]

[4 5 6]]

[1 2 3 4 5 6]

“`

6. 数组拆分

使用numpy.split()函数,您可以将一个数组拆分为多个子数组。指定拆分点或拆分位置即可进行拆分。 例如:

“`

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])

b = np.split(a, 3)

print(b)

“`

输出结果:

“`

[array([1, 2]), array([3, 4]), array([5, 6])]

“`

7. 数组排序

使用numpy.sort()函数,您可以对数组进行排序。指定排序方式和排序轴即可进行排序。 例如:

“`

import numpy as np

a = np.array([3, 1, 4, 2, 5])

b = np.sort(a)

print(b)

“`

输出结果:

“`

[1 2 3 4 5]

“`

8. 数组统计

NumPy数组支持各种统计函数,例如numpy.mean()、numpy.sum()、numpy.std()等。使用这些函数可以获得有关数组的各种统计信息。 例如:

“`

import numpy as np

a = np.array([1, 2, 3, 4, 5])

print(np.mean(a))

print(np.sum(a))

print(np.std(a))

“`

输出结果:

“`

3.0

15

1.4142135623730951

“`

9. 数组计算

使用numpy.dot()函数,您可以计算两个数组的点积或矩阵乘积。这允许您执行矩阵乘法以及线性代数计算。 例如:

“`

import numpy as np

a = np.array([[1, 2], [3, 4]])

b = np.array([[5, 6], [7, 8]])

print(np.dot(a, b))

“`

输出结果:

“`

[[19 22]

[43 50]]

“`

10. 数组复制

使用numpy.copy()函数,您可以创建一个数组的副本,以便进行不同的操作而不影响原始数组。 例如:

“`

import numpy as np

a = np.array([1, 2, 3])

b = np.copy(a)

b[0] = 4

print(a)

print(b)

“`

输出结果:

“`

[1 2 3]

[4 2 3]

“`

结论

在本文中,我们介绍了NumPy中最常见的使用模式。这些模式涵盖了从创建数组到数组计算和复制的各种功能。希望这些示例能够帮助您更好地利用NumPy并提高Python科学计算的效率。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/