(欢迎喜欢的朋友点赞关注~)
之前咱们已经解锁了jieba中文分词、wordcloud词云可视化两大Python实用库,不少小伙伴顺利踏入数据分析、机器学习的大门,却被「数值计算慢、多维数据难处理、批量运算繁琐」这些问题难住,用原生Python列表写循环又累又低效。
今天正式开启Python实用库系列重磅第三弹——NumPy数值计算核心库!作为整个Python数据科学生态的底层基石,Pandas、Matplotlib、各类机器学习框架全都依赖它,堪称数据分析、AI开发的“基本功”。
考虑到NumPy知识点多、实用性强,为了让大家彻底学透、学精,我把内容拆分为5篇连载推文,从基础概念、数组创建,到核心运算、进阶技巧、花式玩法,由浅入深、循序渐进,零基础也能轻松跟上,全程干货+趣味讲解,看完就能直接上手实战~
NumPy全称Numerical Python,是Python专为高性能数值计算、多维数组处理、矩阵运算打造的开源第三方库,也是数据科学、机器学习、科学计算领域的“底层地基”。
它最核心的创新,是推出了ndarray多维数组对象,彻底解决了Python原生列表的三大痛点:运算速度慢、不支持批量计算、无法高效处理多维数据。NumPy底层基于C语言优化,数值运算速度比原生Python快几十甚至上百倍,处理海量数据毫无压力。

🧮 多维数组/矩阵操作:轻松处理一维数组、二维表格、三维图像张量、高维数据结构;
⚡ 高效批量运算:不用写for循环,数组直接加减乘除,批量处理数据效率拉满;
📊 数据分析预处理:数值清洗、数据转换、统计计算,是Pandas的底层支撑;
🤖 机器学习/深度学习:神经网络权重计算、数据归一化、张量处理核心工具;
📈 科学计算领域:金融建模、物理计算、信号处理、图像像素处理、数学仿真。
很多新手疑惑:原生列表也能存数据,为什么非要学NumPy?看完对比就懂:
速度超快:底层C语言实现,批量运算跳过Python解释器,处理大数据差距极其明显;
多维适配:原生列表仅支持一维,NumPy可轻松创建二维、三维乃至N维数组;
矢量运算:整个数组直接做数学运算,无需循环遍历单个元素,代码极简;
内存高效:ndarray数组存储格式紧凑,占用内存远小于原生列表;
生态互通:所有Python数据相关库都兼容NumPy,学会后后续学习零障碍。
import randomimport timeimport numpy as np# 用 random 生成 10000000 个随机数data = [random.randint(0, 1000) for _ in range(int(1e7))]t1 = time.time_ns()s = sum(data)t2 = time.time_ns()print(f"sum(data) = {s}, time: {(t2 - t1) / 1e6} ms")data = np.array(data, dtype=np.int64)t1 = time.time_ns()s = np.sum(data)t2 = time.time_ns()print(f"np.sum(data) = {s}, time: {(t2 - t1) / 1e6} ms")

NumPy安装全程无复杂依赖,一行命令即可完成,导入也有行业固定写法,新手直接照搬,避免报错:
# 常规安装命令,命令行直接运行pip install numpy# 网络差、安装失败时,用清华镜像源加速安装pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
ndarray是NumPy的核心,全称N-dimensional Array,也就是N维数组对象,是一个存储相同类型数据的多维容器,所有操作都围绕它展开。
数据类型统一:数组内所有元素必须是同一种数据类型(全是整数、全是浮点数),保证运算速度;
维度清晰:用轴(axis)表示维度,一维数组1个轴,二维数组2个轴,维度越高,处理的数据越复杂。
本篇我们搞懂了NumPy的定位、核心优势、安装导入和基础概念,作为系列开篇,重在帮大家建立认知。第二篇我们将深入讲解ndarray数组的N种创建方法,从零学会生成各类常用数组,告别手动敲数据~