NumPy 完全指南:解锁Python数据分析与科学计算的强大力量
引言
在数据分析和科学计算领域,NumPy 无疑是 Python 中的一个重量级库。作为数据分析三剑客之一(NumPy, Pandas, Matplotlib),NumPy 提供了高效的多维数组对象及相关的操作函数,极大地简化了数值计算的复杂度。本文旨在通过详细介绍 NumPy 的基础知识和实用技巧,帮助读者快速上手并深入理解 NumPy 的应用。
NumPy 简介
NumPy(Numerical Python)是 Python 的一个开源数值计算扩展库,它提供了高性能的多维数组对象以及操作这些数组的工具。NumPy 的核心数据结构是 ndarray
(N-dimensional array),它是一个固定大小的同类型元素数组。NumPy 还提供了大量的数学函数库,能够高效地执行复杂的数学和科学计算。
NumPy 的主要特点
- 多维数组对象:NumPy 的核心数据结构是
ndarray
,可以轻松地处理一维、二维乃至更高维度的数组。 - 广播功能:允许在不同形状的数组之间执行操作,自动调整数组形状以进行有效的运算。
- 丰富的数学函数:包括基本的加减乘除、三角函数、指数和对数函数、随机数生成、矩阵操作等。
- 索引和切片:支持复杂的索引和切片操作,灵活选择和处理数组中的元素。
- 高性能计算:底层用 C 语言编写,与高性能计算库(如 BLAS 和 LAPACK)集成,提供快速的线性代数运算。
- 互操作性:与 Pandas、SciPy、Matplotlib 等库无缝集成,构建高效的数据科学工作流。
安装 NumPy
NumPy 可以通过 pip 或 Anaconda 方便地安装。以下是通过 Anaconda 安装 NumPy 的步骤:
-
打开 Anaconda 终端
-
创建虚拟环境
(可选,建议为每个项目创建独立的环境)
conda create -n NumpyTest python=3.7
输入
y
确认安装基础包。
-
激活虚拟环境
conda activate NumpyTest
-
安装 NumPy
pip install numpy
NumPy 基础操作
创建数组
一维数组
import numpy as np
data = np.array([1, 2, 3, 4])
print(data)
二维数组(矩阵)
data = np.array([[1, 2, 3, 4], [4, 5, 6, 7]])
print(data)
全零数组
data = np.zeros(shape=(5, 3))
print(data)
全一数组
data = np.ones(shape=(5, 3))
print(data)
全空数组
data = np.empty(shape=(5, 3))
print(data)
创建有连续序列的数组
data = np.arange(10, 16, 2)
print(data)
创建有连续间隔的数组
data = np.linspace(1, 10, 20)
print(data)
创建随机数组
data = np.random.rand(3, 4)
print(data)
# 创建随机整数数组
data = np.random.randint(2, 5, size=(4, 5))
print(data)
改变数组形状
data1 = [1, 2, 3, 4, 5]
data2 = [1, 2, 3, 4, 5]
data = np.array([data1, data2])
print("改之前的数组形状为:")
print(data.shape)
data = data.reshape((5, 2))
print