Python数据分析 | 统计与科学计算工具库Numpy介绍

ShowMeAI研究中心

作者:韩信子@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图解数据分析系列推荐(数据科学家入门)

ShowMeAI系列教程精选推荐

posted @ 2022-02-25 15:07  ShowMeAI  阅读(192)  评论(0编辑  收藏  举报