📜  NumPy 数组的基础知识(1)

📅  最后修改于: 2023-12-03 14:44:48.849000             🧑  作者: Mango

NumPy 数组的基础知识

NumPy(Numeric Python)是 Python 语言的一个扩展程序库,支持高效的多维数组(包括矩阵)运算。在数据科学领域中,NumPy 数组是处理、分析和计算大型数据集常用的数据结构。

安装 NumPy

在使用 NumPy 之前,需要先安装它。可以通过以下命令在终端中安装 NumPy:

pip install numpy
创建 NumPy 数组

NumPy 提供了一个 ndarray 类来表示数组。以下是创建 NumPy 数组的方法:

使用 array() 函数
import numpy as np

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

print(a)
# [1 2 3]

print(b)
# [[1 2]
#  [3 4]]
使用其他函数

NumPy 还提供了其他函数来创建数组,如 zeros()ones()empty()arange() 等。

import numpy as np

a = np.zeros((2, 3))
b = np.ones((2, 3))
c = np.empty((2, 3))
d = np.arange(0, 6).reshape((2, 3))

print(a)
# [[0. 0. 0.]
#  [0. 0. 0.]]

print(b)
# [[1. 1. 1.]
#  [1. 1. 1.]]

print(c)
# [[4.67697252e-310 0.00000000e+000 4.67298859e-310]
#  [4.67185820e-310 4.67087710e-310 0.00000000e+000]]

print(d)
# [[0 1 2]
#  [3 4 5]]
访问 NumPy 数组中的元素

可以使用下标访问 NumPy 数组中的元素,下标从 0 开始。

import numpy as np

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

print(a[0][0])  # 1
print(a[0][1])  # 2
print(a[1][0])  # 3
print(a[1][1])  # 4

也可以使用逗号分隔的下标访问 NumPy 数组中的元素。

import numpy as np

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

print(a[0, 0])  # 1
print(a[0, 1])  # 2
print(a[1, 0])  # 3
print(a[1, 1])  # 4
NumPy 数组的运算

NumPy 数组的基本运算符包括加 +、减 -、乘 *、除 / 等。这些运算符应用于数组时,会逐个元素进行操作。

import numpy as np

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

c = a + b
d = a - b
e = a * b
f = a / b

print(c)  # [5 7 9]
print(d)  # [-3 -3 -3]
print(e)  # [ 4 10 18]
print(f)  # [0.25 0.4  0.5 ]
NumPy 数组的常用函数

NumPy 提供了许多常用的函数来操作数组,如求数组的最小值、最大值、平均值、标准差、方差等。

import numpy as np

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

print(np.min(a))  # 1
print(np.max(a))  # 5
print(np.mean(a))  # 3.0
print(np.std(a))  # 1.4142135623730951
print(np.var(a))  # 2.0
NumPy 数组的索引和切片

可以使用索引和切片来访问 NumPy 数组中的元素。

import numpy as np

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

print(a[0])  # 1
print(a[-1])  # 5
print(a[1:4])  # [2 3 4]

对于多维数组,可以使用索引或切片来访问数组中的元素。

import numpy as np

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

print(a[0, 0])  # 1
print(a[-1, -1])  # 4
print(a[1, :])  # [3 4]
NumPy 数组的形状操作

可以使用 reshape() 函数来改变 NumPy 数组的形状。

import numpy as np

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

print(a.reshape(5, 1))

# [[1]
#  [2]
#  [3]
#  [4]
#  [5]]

可以使用 flatten() 函数将多维数组转换为一维数组。

import numpy as np

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

print(a.flatten())

# [1 2 3 4]
总结

NumPy 数组是 Python 中处理、分析和计算大型数据集常用的数据结构。本文介绍了 NumPy 数组的基本知识,包括数组的创建、访问、运算、常用函数、索引和切片以及形状操作等。希望本文能对使用 NumPy 的程序员有所帮助。