news 2026/6/23 22:05:09

Python NumPy入门指南:数据处理科学计算的瑞士军刀

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python NumPy入门指南:数据处理科学计算的瑞士军刀

Python NumPy 入门指南:数据处理与科学计算的瑞士军刀

NumPy(Numerical Python)是 Python 科学计算生态的核心库,几乎所有数据科学、机器学习、物理模拟等领域的高性能库(如 Pandas、SciPy、TensorFlow、PyTorch)都建立在它之上。它提供了高效的多维数组对象ndarray和大量数学函数,让 Python 处理数值计算时速度接近 C 语言。

1. 为什么选择 NumPy?
特性说明与纯 Python 列表对比
性能极高底层用 C 实现,向量化运算避免 Python 循环相同操作快 10~100 倍
内存高效同类型数据连续存储,无对象开销列表每个元素都是独立对象,内存浪费
广播机制不同形状数组自动对齐运算列表需手动循环处理
丰富数学函数线性代数、傅里叶变换、随机数等Python 内置数学功能非常有限
多维数组支持支持任意维度数组(1D、2D、3D…)列表嵌套实现多维,操作繁琐

一句话:NumPy 是 Python 进行数值计算的“瑞士军刀”

2. 安装与导入
pipinstallnumpy
importnumpyasnp# 约定俗成的别名print(np.__version__)# 查看版本(2026 年主流版本 >= 2.0)
3. 核心数据结构:ndarray(N-dimensional array)

创建数组

# 从列表创建a=np.array([1,2,3,4])b=np.array([[1,2],[3,4],[5,6]])# 2D 数组# 常用创建函数np.zeros((3,4))# 全 0 数组np.ones((2,3))# 全 1 数组np.full((2,2),7)# 全填 7np.arange(0,10,2)# [0, 2, 4, 6, 8]np.linspace(0,1,5)# 等间隔 5 个数:[0., 0.25, 0.5, 0.75, 1.]np.random.random((3,3))# 随机浮点数 [0,1)np.eye(4)# 4x4 单位矩阵

基本属性

arr=np.array([[1,2,3],[4,5,6]])print(arr.ndim)# 维度数:2print(arr.shape)# 形状:(2, 3)print(arr.size)# 元素总数:6print(arr.dtype)# 数据类型:int64print(arr.itemsize)# 每个元素字节数:8
4. 索引、切片与花式索引
arr=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])arr[1,2]# 第1行第2列 → 7arr[0,:]# 第0行 → [1,2,3,4]arr[:,1]# 第1列 → [ 2, 6,10]arr[0:2,1:3]# 子数组 → [[2, 3], [6, 7]]# 布尔索引arr[arr>7]# [ 8, 9,10,11,12]# 花式索引arr[[0,2],[1,3]]# 取 (0,1) 和 (2,3) 位置 → [2, 12]
5. 向量化运算与广播(Broadcasting)

核心优势:无需循环,直接对整个数组运算。

a=np.array([1,2,3])b=np.array([4,5,6])a+b# [5, 7, 9]a*3# [3, 6, 9]np.sqrt(a)# [1. , 1.414, 1.732]a>2# [False, False, True]# 广播:不同形状自动扩展A=np.array([[1,2,3],[4,5,6]])# (2,3)b=np.array([10,20,30])# (3,)A+b# 自动将 b 广播为 (2,3) 形状# 结果:# [[11, 22, 33],# [14, 25, 36]]
6. 常用数学与统计函数
arr=np.array([1,2,3,4,5])np.sum(arr)# 15np.mean(arr)# 3.0np.std(arr)# 标准差np.max(arr),np.min(arr)np.argmax(arr)# 最大值索引:4# 轴向运算(axis 参数)matrix=np.array([[1,2],[3,4]])matrix.sum(axis=0)# 按列求和 → [4, 6]matrix.sum(axis=1)# 按行求和 → [3, 7]
7. 线性代数(numpy.linalg)
A=np.array([[1,2],[3,4]])b=np.array([5,6])np.dot(A,b)# 矩阵乘向量 → [17, 39]np.linalg.inv(A)# 求逆np.linalg.det(A)# 行列式:-2.0np.linalg.eig(A)# 特征值与特征向量
8. 数组变形与拼接
arr=np.arange(6)arr.reshape(2,3)# 重塑形状 → [[0,1,2],[3,4,5]]arr.resize(2,3)# 原地修改# 拼接a=np.array([1,2])b=np.array([3,4])np.concatenate([a,b])# [1,2,3,4]np.vstack([a,b])# 垂直堆叠np.hstack([a,b])# 水平堆叠
9. 性能对比:NumPy vs 纯 Python
importtime# 纯 Python 列表size=1000000list1=list(range(size))list2=list(range(size))start=time.time()result=[x+yforx,yinzip(list1,list2)]print("Python 列表耗时:",time.time()-start)# NumPyarr1=np.arange(size)arr2=np.arange(size)start=time.time()result=arr1+arr2print("NumPy 耗时:",time.time()-start)# 输出:NumPy 通常快 50~100 倍!
10. 入门建议与进阶路径
  • 练习平台:LeetCode(数组题)、Kaggle(数据分析入门)
  • 进阶方向
    • Pandas:基于 NumPy 的表格数据处理
    • Matplotlib/Seaborn:数据可视化
    • SciPy:科学计算扩展
    • scikit-learn:机器学习
    • PyTorch/TensorFlow:深度学习(张量基于 NumPy)

一句话总结
NumPy 是 Python 科学计算的基石——掌握它,你就拥有了高效处理海量数值数据的“瑞士军刀”!

准备好开始你的 NumPy 之旅了吗?试试运行上面的代码,感受向量化运算的魅力吧~如果想继续学习 Pandas、数据可视化或机器学习实战,随时告诉我,我继续带你进阶!🚀

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 9:41:29

deepseek和提示词工程

DeepSeek 与提示词工程(Prompt Engineering)全攻略(2026 最新版) DeepSeek(尤其是 DeepSeek-V3、DeepSeek-R1)是 2025-2026 年最受关注的中国开源/商用大模型系列之一,其推理能力(R…

作者头像 李华
网站建设 2026/6/14 21:22:36

5个高可用图像转视频开源镜像推荐:免配置一键部署

5个高可用图像转视频开源镜像推荐:免配置一键部署 Image-to-Video图像转视频生成器 二次构建开发by科哥 在AIGC内容创作领域,图像转视频(Image-to-Video, I2V) 正成为极具潜力的技术方向。相比静态图像生成,动态视频能…

作者头像 李华
网站建设 2026/6/16 22:36:34

Sambert-HifiGan在金融理财顾问中的语音交互设计

Sambert-HifiGan在金融理财顾问中的语音交互设计 引言:让AI理财顾问“声”入人心 随着智能投顾和数字银行的快速发展,用户对金融服务的交互体验要求日益提升。传统的文本式问答机器人已难以满足客户在咨询理财方案、解读产品条款时的情感共鸣需求。一个具…

作者头像 李华
网站建设 2026/6/23 0:31:08

Sambert-HifiGan多情感语音合成的质量评估体系

Sambert-HifiGan多情感语音合成的质量评估体系 引言:中文多情感语音合成的技术演进与质量挑战 随着智能语音助手、虚拟主播、有声阅读等应用场景的普及,传统单一语调的语音合成已无法满足用户对自然度、表现力和情感共鸣的需求。尤其在中文场景下&#x…

作者头像 李华
网站建设 2026/6/13 21:37:41

Markdown文档自动化:用Image-to-Video生成技术说明动图

Markdown文档自动化:用Image-to-Video生成技术说明动图 引言:动态化技术文档的工程实践需求 在现代技术文档编写中,静态图片已难以满足复杂功能的表达需求。尤其在AI模型、可视化工具和交互系统等领域的说明文档中,用户往往需要通…

作者头像 李华
网站建设 2026/6/17 1:38:23

多情感语音合成的商业价值:Sambert-HifiGan案例研究

多情感语音合成的商业价值:Sambert-HifiGan案例研究 引言:中文多情感语音合成的技术演进与商业机遇 随着人工智能在人机交互领域的深入发展,语音合成(Text-to-Speech, TTS) 已从早期机械、单调的“机器人音”逐步迈向…

作者头像 李华