加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

numpy:python数据领域的帮手

发布时间:2021-06-04 06:21:33 所属栏目:教程 来源:互联网
导读:什么是一门好的数据分析语言 数据分析面向的数据大多数是二维表。一门好的数据分析语言,首先需要能够直接有个数据结构存下这个二维表,然后要配上一套成熟的类S

什么是一门好的数据分析语言

数据分析面向的数据大多数是二维表。一门好的数据分析语言,首先需要能够直接有个数据结构存下这个二维表,然后要配上一套成熟的类SQL的数据操作接口,***要有一套好用的可视化工具。R语言就是一个极好的典范:用内置的data.frame结构做数据的存储;data.frame本身提供足够强大的数据操作能力,另有dplyr、tidyr、data.table、plyr、reshape2等库提供更好用更高效的数据操作能力;在绘图上,除了基本的plot功能外,还提供了ggplot2这样一套优雅的绘图语言,还通过htmlwidget库与javascript各种绘图库建立了紧密的联系,让可视化的动态展示效果更进一步。Excel也是一个极好的例子,有单元格这种灵活的结构为数据存储做支撑,有大量的函数实现灵活的操作,也有强大的绘图系统。

python目前在数据分析领域也已经具备了相当可观的能力,包括pandas库实现的DataFrame结构,pandas本身提供的数据操作能力,matplotlib提供的数据可视化能力,而这一切都离不开numpy库。

什么是一门好的机器学习语言

一般来讲,一门好的机器学习语言在数据分析上也一定很吃得开,因为数据分析往往是机器学习的基础。但是机器学习的要求更高,因为在模型训练阶段往往需要较为复杂的参数估计运算,因此语言需要具备较强的科学计算能力。科学计算能力,最核心的就是矩阵运算能力。关于矩阵运算能力,这篇文章对各种语言有很好的比较。

如果没有numpy,python内部只能用list或array来表示矩阵。假如用list来表示[1,2,3],由于list的元素可以是任何对象,因此list中所保存的是对象的指针,所以需要有3个指针和三个整数对象,比较浪费内存和CPU计算时间。python的array和list不同,它直接保存数值,和C语言的一维数组比较类似,但是不支持多维,表达形式很简陋,写科学计算的算法很难受。numpy弥补了这些不足,其提供的ndarray是存储单一数据类型的多维数组,且采用预编译好的C语言代码,性能上的表现也十分不错。

python***的机器学习库sklearn构建在numpy之上,提供了各种标准机器学习模型的训练与预测接口,其中模型训练接口的内部实现是基于numpy库实现的。比如很常见的线性回归模型,参数估计调用的是numpy.linalg.lstsq函数。

numpy的核心结构:ndarray

以下内容摘录自用Python做科学计算

a = np.array([[0,1,2],[3,4,5],[6,7,8]], dtype=np.float32) 

ndarray是numpy的核心数据结构。我们来看一下ndarray如何在内存中储存的:关于数组的描述信息保存在一个数据结构中,这个结构引用两个对象,一块用于保存数据的存储区域和一个用于描述元素类型的dtype对象。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读