NumPy 入门到精通:Python 数据科学的基石
📌 作者:啊...哦
📅 发布时间:2025年11月11日
🏷️ 标签:Python、NumPy、数据科学、数组、科学计算
一、什么是 NumPy?
NumPy(Numerical Python) 是 Python 科学计算的核心库之一,提供了高性能的多维数组对象(ndarray)和大量用于操作这些数组的函数。它是 Pandas、SciPy、Scikit-learn 等众多数据科学库的基础。
二、为什么选择 NumPy?
三、安装 NumPy
pip install numpy
四、NumPy 基础操作
1. 创建数组
import numpy as np
# 从列表创建
a = np.array([1, 2, 3])
# 创建全0数组
zeros = np.zeros((2, 3))
# 创建全1数组
ones = np.ones((3, 3))
# 创建单位矩阵
eye = np.eye(3)
# 创建等差数列
arange = np.arange(0, 10, 2)
# 创建线性间隔
linspace = np.linspace(0, 1, 5)
2. 数组属性
a = np.array([[1, 2, 3], [4, 5, 6]])
print("维度:", a.ndim)
print("形状:", a.shape)
print("元素个数:", a.size)
print("数据类型:", a.dtype)
3. 数组索引与切片
a = np.array([[1, 2, 3], [4, 5, 6]])
print("维度:", a.ndim)
print("形状:", a.shape)
print("元素个数:", a.size)
print("数据类型:", a.dtype)
4. 数组运算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(a * 2) # [2 4 6]
print(np.dot(a, b)) # 点积:32
5. 广播机制(Broadcasting)
a = np.array([[1], [2], [3]])
b = np.array([10, 20])
print(a + b)
# 输出:
# [[11 21]
# [12 22]
# [13 23]]
五、常用函数速查表

六、实战小案例:图像灰度化(使用 NumPy)
import numpy as np
from PIL import Image
# 加载图像并转为数组
img = Image.open("example.jpg").convert("RGB")
img_array = np.array(img)
# 灰度化公式:Gray = 0.299*R + 0.587*G + 0.114*B
gray = np.dot(img_array[...,:3], [0.299, 0.587, 0.114])
# 保存灰度图
gray_img = Image.fromarray(gray.astype(np.uint8))
gray_img.save("gray_example.jpg")
七、学习建议
✅ 先掌握基础:数组创建、索引、切片、运算
✅ 多动手实践:用 NumPy 实现小项目,如图像处理、数据分析
✅ 结合其他库学习:如 Pandas、Matplotlib、Scikit-learn
✅ 阅读官方文档:https://numpy.org/doc/
八、结语
NumPy 是 Python 数据科学的“地基”,掌握它是你迈向机器学习、深度学习、数据分析的第一步。希望这篇博客能帮你打好坚实的基础!
📌 欢迎关注我,后续将持续更新:
Pandas 入门指南
Matplotlib 可视化技巧
Scikit-learn 实战项目
更多推荐
所有评论(0)