NumPy 速成班:快速掌握数据处理秘诀

创建数组

要使用 NumPy,首先需要创建数组。数组是存储同类型元素的集合,可以使用 np.array() 函数创建:

import numpy as np

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

输出:

[1 2 3 4 5]

访问元素

我们可以使用索引来访问数组中的元素。索引从 0 开始,可以使用方括号:

print(array[0])# 访问第一个元素
print(array[-1])# 访问最后一个元素

数组操作

NumPy 提供了各种数组操作,包括:

多维数组

NumPy 支持多维数组,也称为张量。要创建一个多维数组,需要在 np.array() 中提供嵌套列表:

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

输出:

[[1 2]
 [3 4]]

索引多维数组

要索引多维数组,可以使用多个索引:

print(array[0, 0])# 访问第一行第一列的元素
print(array[1, 1])# 访问第二行第二列的元素

广播

广播是一种在不同形状的数组上执行算术运算的机制。它将较小的数组扩展到与较大数组相同的形状,以便进行逐元素运算。例如:

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

result = array1 * array2
print(result)

输出:

[[ 48 12]
 [ 5 10 15]
 [ 6 12 18]]

转置和广播

转置可以将数组的形状进行转换。NumPy 中的 np.transpose() 函数可以将行和列进行互换:

array = np.array([[1, 2], [3, 4]])
transposed_array = np.transpose(array)
print(transposed_array)

输出:

[[1 3]
 [2 4]]

高级索引

NumPy 提供了高级索引功能,允许使用布尔索引数组来选择特定元素:

array = np.array([1, 2, 3, 4, 5])
mask = np.array([True, False, True, False, True])

filtered_array = array[mask]
print(filtered_array)

输出:

[1 3 5]

数据处理技巧

掌握 NumPy 的基础知识后,以下是一些数据处理技巧: