Python数据分析 | 统计与科学计算工具库Numpy介绍
作者:韩信子@ShowMeAI
教程地址:https://www.showmeai.tech/tutorials/33
本文地址:https://www.showmeai.tech/article-detail/141
声明:版权所有,转载请联系平台与作者并注明出处
一、NumPy介绍
数据分析、机器学习和深度学习领域,很多计算过程可以通过向量和矩阵进行并行化的高效处理,而NumPy可以很好地支撑向量化运算。NumPy 包是Python生态系统中科学计算的核心支撑之一,数据分析工具库 pandas,计算机视觉工具库OpenCV等库都基于NumPy。熟悉NumPy之后,知名的深度学习框架PyTorch、TensorFlow、Keras等,也可以直接迁移应用处理的方式,很多操作甚至无需更改就可以在GPU运行计算。
n维数组是NumPy的核心概念,大部分数据的操作都是基于n维数组完成的。本系列内容覆盖到1维数组操作、2维数组操作、3维数组操作方法,本篇为系列导入文章。
二、NumPy数组
2.1 列表 VS 数组
n维数组是NumPy中最核心的结构之一。数组与Python列表有些相似:都用来装载数据,都能够快速添加或获取元素,插入和移除元素则比较慢。
但NumPy数组因其广播特性可以直接进行算术运算,而Python列表则需要用列表推导式等操作来完成。对比示例如下(左侧为列表,右侧为NumPy数组):
2.2 Numpy数组其他特点
-
更紧凑,高维时尤为明显
-
向量化后运算速度比列表更快
-
在末尾添加元素时不如列表高效(左侧为列表,右侧为NumPy数组)
-
元素类型一般比较固定
其中,O(N)表示完成操作所需的时间与数组大小成正比(请见Big-O Cheat Sheet),O(1)表示操作时间与数组大小无关(详见Time Complexity)。
资料与代码下载
本教程系列的代码可以在ShowMeAI对应的github中下载,可本地python环境运行,能访问Google的宝宝也可以直接借助google colab一键运行与交互操作学习哦!
本系列教程涉及的速查表可以在以下地址下载获取:
拓展参考资料
ShowMeAI图解数据分析系列推荐(数据科学家入门)
- 图解数据分析(1) | 数据分析介绍
- 图解数据分析(2) | 数据分析思维
- 图解数据分析(3) | 数据分析的数学基础
- 图解数据分析(4) | 核心步骤1 - 业务认知与数据初探
- 图解数据分析(5) | 核心步骤2 - 数据清洗与预处理
- 图解数据分析(6) | 核心步骤3 - 业务分析与数据挖掘
- 图解数据分析(7) | 数据分析工具地图
- 图解数据分析(8) | Numpy - 统计与数据科学计算工具库介绍
- 图解数据分析(9) | Numpy - 与1维数组操作
- 图解数据分析(10) | Numpy - 与2维数组操作
- 图解数据分析(11) | Numpy - 与高维数组操作
- 图解数据分析(12) | Pandas - 数据分析工具库介绍
- 图解数据分析(13) | Pandas - 核心操作函数大全
- 图解数据分析(14) | Pandas - 数据变换高级函数
- 图解数据分析(15) | Pandas - 数据分组与操作
- 图解数据分析(16) | 数据可视化原则与方法
- 图解数据分析(17) | 基于Pandas的数据可视化
- 图解数据分析(18) | 基于Seaborn的数据可视化