12. NumPy 数据分析与图像处理入门

NumPy 数据分析与图像处理入门

NumPy 不仅是科学计算和线性代数的重要工具,也是 数据分析与图像处理 的基础。依托其高效的数组操作、向量化计算和广播机制,我们能够快速处理表格数据、时间序列以及图像像素矩阵。本篇作为系列的收官篇,将展示 NumPy 在数据分析和图像处理中的实际应用。

本文将围绕以下几个方面展开:

  1. NumPy 在数据分析中的常见应用
  2. 数据分析示例
  3. 图像处理的基本概念与数组表示
  4. 图像操作与增强实例

1. NumPy 在数据分析中的应用

在数据分析工作中,NumPy 是 Pandas、Matplotlib、Scikit-learn 等工具的底层支撑,常见用途包括:

  • 数据清洗与预处理:筛选、缺失值处理
  • 统计计算:均值、方差、分位数
  • 大规模计算:借助向量化与广播提升效率
  • 数据变换:标准化、归一化等

NumPy 的数组机制让复杂的数据处理更加简洁高效。


2. 简单数据分析示例

假设我们有一个学生成绩数组:

python 复制代码
import numpy as np

scores = np.array([[90, 85, 70],
                   [75, 80, 85],
                   [60, 70, 65],
                   [95, 90, 100]])

# 每位学生的平均成绩
student_avg = np.mean(scores, axis=1)
print("学生平均成绩:", student_avg)

# 每门课程的平均成绩
course_avg = np.mean(scores, axis=0)
print("课程平均成绩:", course_avg)

# 标准化处理
scores_std = (scores - course_avg) / np.std(scores, axis=0)
print("标准化后的成绩:\n", scores_std)

学生平均成绩: 81.66666667 80. 65. 95.

课程平均成绩: 80. 81.25 80.

标准化后的成绩:

\[ 0.73029674 0.50709255 -0.73029674

-0.36514837 -0.16903085 0.36514837

-1.46059349 -1.52127766 -1.09544512

1.09544512 1.18321596 1.46059349\]

这里,借助 NumPy 的统计函数和广播机制,我们能够轻松完成逐行、逐列运算,并实现标准化处理。


3. NumPy 在图像处理中的基础操作

图像本质上是一个多维数组:

  • 灰度图像:二维数组(高度 × 宽度)
  • 彩色图像:三维数组(高度 × 宽度 × 颜色通道)

常见操作包括:

  1. 读取和转换图像为数组
  2. 数组操作修改像素值
  3. 图像裁剪、旋转、翻转
python 复制代码
from skimage import data
import matplotlib.pyplot as plt

# 读取示例图片
img = data.astronaut()  # 彩色图像
print("图像形状:", img.shape)

# 显示原图
plt.imshow(img)
plt.axis("off")
plt.show()

图像形状: (512, 512, 3)


4. 图像处理示例

4.1 灰度化

python 复制代码
# 灰度化: RGB 加权平均
gray = img.mean(axis=2)
plt.imshow(gray, cmap='gray')
plt.show()

4.2 翻转

python 复制代码
# 垂直翻转
flip_vertical = img[::-1, :, :]
plt.imshow(flip_vertical)
plt.show()

4.3 裁剪

python 复制代码
# 裁剪中心区域
h, w = img.shape[:2]
crop = img[h//4:3*h//4, w//4:3*w//4, :]
plt.imshow(crop)
plt.show()

4.4 简单图像增强

python 复制代码
# 提高亮度
bright = np.clip(img + 50, 0, 255)  # 限制像素值在 [0,255]
plt.imshow(bright)
plt.show()
  • NumPy 数组操作可以直接修改像素矩阵,无需循环
  • 与 Matplotlib、OpenCV 等库结合,可完成高级图像处理

5. 小结与系列回顾

在本篇文章中,我们展示了 NumPy 在 数据分析和图像处理 中的应用,包括:

  • 借助向量化和广播机制实现高效数组运算
  • 快速完成均值、方差、标准化等统计分析
  • 将图像视作数组,轻松完成裁剪、翻转、增强等处理
  • 与 Pandas、Matplotlib、Scikit-learn、OpenCV 等工具无缝衔接

至此,我们完成了 NumPy 系列教程(共 12 篇)。从环境安装、数组基础、数学与统计函数、随机数生成、线性代数与广播机制,到高效数据处理与图像处理,我们系统地掌握了 NumPy 的核心功能与实际应用。这套知识体系将为你进一步学习数据科学、机器学习和计算机视觉奠定坚实的基础。

learn、OpenCV 等工具无缝衔接

至此,我们完成了 NumPy 系列教程(共 12 篇)。从环境安装、数组基础、数学与统计函数、随机数生成、线性代数与广播机制,到高效数据处理与图像处理,我们系统地掌握了 NumPy 的核心功能与实际应用。这套知识体系将为你进一步学习数据科学、机器学习和计算机视觉奠定坚实的基础。


上一篇:11. NumPy 高效数据处理与优化

相关推荐
2501_933670791 分钟前
医药市场分析岗位适合应用统计学学生吗,需要考什么证
人工智能
Escalating_xu1 分钟前
【Python】使用库:标准库、第三方库、pip、项目实战与程序打包
java·python·pip
水獭比特3 分钟前
Agent 工具审批不止一个按钮:用 v0.22.1 复盘入口、恢复和副作用
人工智能·python
网络毒刘5 分钟前
Token 用量观测实战:从会话结构拆前缀/工具/生成,建立个人降本仪表盘
人工智能·性能优化·token·cursor
库拉镜像AI牛牛5 分钟前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
IamZJT_6 分钟前
Agent 系统工程 09|Agent 的可靠性怎么测?成功率、恢复能力与成本
人工智能
AI你一生一世11 分钟前
当AI在数学中“失准”:一场关于形式化、直觉与工程取舍的深度复盘
人工智能·大语言模型·数学推理·ai对齐·形式化验证·推理模型·语义漂移
盟接之桥14 分钟前
AI助手:你的7×24小时智能管家——让异常预警无处不在
大数据·网络·数据库·人工智能·制造·ai编程
llqbzllll15 分钟前
Agent Skills 为什么不能只是“长提示词”:SKILL.md、按需加载和权限边界
人工智能
waoooqwe16 分钟前
问卷样本真实吗
大数据·数据库·算法·数据分析