Python编程实战——Python实用工具与库:Numpy基础

在数据科学、人工智能与科学计算领域中,Numpy(Numerical Python)是Python中最重要的基础库之一。它为Python提供了强大的**多维数组(ndarray)**对象,并支持高效的向量化计算,让数据处理速度提升数十倍。 本篇博客将带你快速入门Numpy,从安装、核心数据结构、常用操作到实战应用,一步步掌握这个数据计算神器。


一、为什么要学习 Numpy

Python的列表虽然灵活,但在大规模数值计算中效率并不理想。 Numpy通过底层C语言实现的高效算法,让我们能够:

  • 快速执行矩阵运算和统计分析;
  • 实现科学计算和机器学习的数学基础;
  • 轻松进行向量化操作,避免低效的循环。

一句话总结:Numpy让Python像Matlab一样强大,但更自由。


二、安装Numpy

在命令行中使用pip即可安装:

bash 复制代码
pip install numpy

安装完成后,使用以下命令验证:

python 复制代码
import numpy as np
print(np.__version__)

三、Numpy的核心:ndarray

Numpy的核心数据结构是ndarray,即N维数组对象。 相比Python列表,它有以下优势:

  • 占用内存更少;
  • 支持矢量化计算;
  • 支持广播机制。

示例:

python 复制代码
import numpy as np

arr = np.array([1, 2, 3, 4])
print(arr)            # 输出:[1 2 3 4]
print(arr.dtype)      # 数据类型
print(arr.ndim)       # 数组维度
print(arr.shape)      # 形状

四、创建Numpy数组的常见方法

Numpy提供了多种快速创建数组的方式:

python 复制代码
# 从列表创建
a = np.array([1, 2, 3])

# 创建全零数组
zeros = np.zeros((2,3))

# 创建全一数组
ones = np.ones((3,3))

# 创建等差数列
arange = np.arange(0, 10, 2)

# 创建随机数组
rand = np.random.rand(2,2)

这些函数能帮助我们快速生成所需数据结构,为后续计算打下基础。


五、Numpy数组的常用操作

1. 数组索引与切片

python 复制代码
arr = np.array([10, 20, 30, 40, 50])
print(arr[1:4])  # [20 30 40]

2. 数组运算(向量化操作)

python 复制代码
a = np.array([1,2,3])
b = np.array([4,5,6])
print(a + b)   # [5 7 9]
print(a * b)   # [4 10 18]

3. 数学函数

python 复制代码
x = np.array([1, 2, 3])
print(np.sqrt(x))
print(np.exp(x))
print(np.mean(x))

4. 矩阵操作

python 复制代码
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
print(np.dot(A,B))  # 矩阵乘法

六、Numpy的广播机制

广播机制让不同形状的数组之间也能运算。例如:

python 复制代码
a = np.array([[1,2,3],
              [4,5,6]])
b = np.array([10,20,30])
print(a + b)

结果:

lua 复制代码
[[11 22 33]
 [14 25 36]]

Numpy会自动扩展b的形状与a匹配,实现高效运算。


七、实战:计算学生成绩平均分

python 复制代码
import numpy as np

scores = np.array([
    [85, 90, 88],
    [78, 80, 82],
    [90, 95, 92]
])

avg_per_student = np.mean(scores, axis=1)
avg_per_subject = np.mean(scores, axis=0)

print("每个学生平均分:", avg_per_student)
print("每门课平均分:", avg_per_subject)

输出:

css 复制代码
每个学生平均分: [87.66666667 80.         92.33333333]
每门课平均分: [84.33333333 88.33333333 87.33333333]

八、小结

Numpy是Python科学计算的基石,理解并熟练使用它,能让你的程序执行效率成倍提升。 本篇你已经掌握了:

  • Numpy的核心数据结构 ndarray
  • 数组创建与运算方法
  • 广播机制与矩阵操作
  • 实战案例:成绩平均分计算

接下来,你可以进一步学习Numpy的高级索引线性代数函数统计分析等内容,为Pandas与机器学习打下坚实基础。

相关推荐
hui函数14 小时前
Python系列Bug修复|如何解决 pip install -e . 安装报错 “后端不支持可编辑安装(PEP 660)” 问题
python·bug·pip
二哈喇子!14 小时前
PyTorch与昇腾平台算子适配:从注册到部署的完整指南
人工智能·pytorch·python
UrbanJazzerati14 小时前
统计学基础与数据可视化实战——基本图表(1)
面试
FPGAI14 小时前
Python之函数
开发语言·python
guchen6614 小时前
WPF拖拽功能问题分析与解决方案
后端
七夜zippoe14 小时前
领域驱动设计在Python中的实现:从理论到生产级实践
数据库·python·sqlite·ddd·pydantic
TG_imqfxt66614 小时前
虚拟机下安装苹果系统,虚拟机下如何实现协议群发iMessage?
python·objective-c
Smoothzjc14 小时前
别再只把AI当聊天机器人了!揭秘大模型进化的终极形态,看完颠覆你的认知!
后端·langchain·ai编程
weixin_4624462314 小时前
使用 Python 创建和导出 Jupyter Notebook:从零到一的完整教程
开发语言·python·jupyter