数据分析、机器学习和深度学习领域,很多计算过程可以通过向量和矩阵进行并行化的高效处理,而NumPy可以很好地支撑向量化运算。NumPy 包是Python生态系统中科学计算的核心支撑之一,数据分析工具库 pandas,计算机视觉工具库OpenCV等库都基于NumPy。熟悉NumPy之后,知名的深度学习框架PyTorch、TensorFlow、Keras等,也可以直接迁移应用处理的方式,很多操作甚至无需更改就可以在GPU运行计算。
n维数组是NumPy的核心概念,大部分数据的操作都是基于n维数组完成的。本系列内容覆盖到1维数组操作、2维数组操作、3维数组操作方法,本篇为系列导入文章。
n维数组是NumPy中最核心的结构之一。数组与Python列表有些相似:都用来装载数据,都能够快速添加或获取元素,插入和移除元素则比较慢。
但NumPy数组因其广播特性可以直接进行算术运算,而Python列表则需要用列表推导式等操作来完成。对比示例如下(左侧为列表,右侧为NumPy数组):
更紧凑,高维时尤为明显
向量化后运算速度比列表更快
在末尾添加元素时不如列表高效(左侧为列表,右侧为NumPy数组)
元素类型一般比较固定
其中,O(N)表示完成操作所需的时间与数组大小成正比(请见Big-O Cheat Sheet),O(1)表示操作时间与数组大小无关(详见Time Complexity)。
图解数据分析系列 配套的所有代码,可前往ShowMeAI 官方 GitHub,下载后即可在本地 Python 环境中运行。能访问 Google 的宝宝也可以直接借助 Google Colab一键运行与交互学习!
Awesome cheatsheets | ShowMeAI速查表大全 系列包含『编程语言』『AI技能知识』『数据科学工具库』『AI垂直领域工具库』四个板块,追平到工具库当前最新版本,并跑通了所有代码。点击 官网 或 GitHub 获取~
数据分析相关速查表(部分):
内容 | 速查表(部分) | Github代码 |
---|---|---|
Python 3速查表 | ![]() |
一键运行速查表代码 - Python |
Numpy 速查表 | ![]() |
一键运行速查表代码 - Numpy |
Pandas 速查表 | ![]() |
一键运行速查表代码 - Pandas |
Matplotlib 速查表 | ![]() |
一键运行速查表代码 - Matplotlib |
Seaborn 速查表 | ![]() |
一键运行速查表代码 - Seaborn |