返回

解析 NumPy 的精髓:不容错过的 90 个实用范例

后端

NumPy,科学计算领域的明星,其强大的矩阵运算能力令人惊叹。为深入理解其精妙,本文特整理了 90 个 NumPy 实用范例,涵盖其多姿多彩的功能,助你轻松驾驭数据世界。

一、基本操作

从最基本的数组创建和操作开始,我们逐步探索 NumPy 的核心功能:

import numpy as np

# 创建数组
arr = np.array([1, 2, 3, 4, 5])

# 访问元素
print(arr[0])  # 输出:1

# 数组切片
print(arr[1:3])  # 输出:[2 3]

二、数组运算

NumPy 的向量化运算能力备受推崇,让我们一探究竟:

# 数组加法
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # 输出:[5 7 9]

# 逐元素乘法
print(arr1 * arr2)  # 输出:[ 4 10 18]

三、数组变换

变形是 NumPy 的拿手好戏,它可以轻松改变数组的形状和结构:

# 改变形状
arr = np.arange(12).reshape(3, 4)
print(arr)  # 输出:
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

# 轴变换
print(arr.T)  # 输出:
# [[ 0  4  8]
#  [ 1  5  9]
#  [ 2  6 10]
#  [ 3  7 11]]

四、统计函数

NumPy 提供了丰富的统计函数,轻松提取数据信息:

# 求和
print(np.sum(arr))  # 输出:55

# 求均值
print(np.mean(arr))  # 输出:5.5

# 求方差
print(np.var(arr))  # 输出:30.25

五、线性代数

NumPy 的线性代数功能不容小觑,矩阵运算得心应手:

# 矩阵乘法
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(np.dot(A, B))  # 输出:
# [[19 22]
#  [43 50]]

# 求行列式
print(np.linalg.det(A))  # 输出:-2

六、高级应用

除了基础功能,NumPy 还支持一些高级应用:

# Fourier 变换
fft = np.fft.fft(arr)
print(fft)  # 输出:复数数组

# 卷积
conv = np.convolve(arr, [1, 2, 1])
print(conv)  # 输出:一维卷积数组

NumPy 的强大远不止于此,还有更多精彩等待探索。让我们一起踏上 NumPy 的奇幻旅程,解锁数据分析的新境界!