数据分析之NumPy笔记(一)

学习背景

前几天群里有个大佬推荐了一门极客时间里关于数据分析的课程,教学方式是图文+音频,是我比较喜欢的教学方式之一,光看评论都能学到很多的知识,比如学习方式,对内容的理解等,感兴趣的朋友也可以一起学习。

现在是大数据的时代,学习数据分析是必备的技能,python对于获取数据这方面也是特别优势的。

通过爬虫能够获取大量的数据,但是光得到数据也没啥用啊,要让这些数据产生价值,还得进一步处理,也就是数据分析,尽管我数学很差(真是个悲剧~),但这并不能阻止我爱学习的心,所以我毫不犹豫的报了这门课程。哈哈~

好,进入主题,学习的过程中,我记录了一些笔记,想在这里分享给大家,让我们一起学习吧~

NumPy的介绍

学习数据分析怎么能少的了numpy这个功能强大的科学计算库呢。由于这部分内容所涉及的知识点比较多,所以我打算分三次来给大家分享,今天先带大家初步了解一下。

numpy是python使用最多的第三方库,而且是Scipy/pandas等数据科学的基础库,其中使用最多的就是数组了。

数组其实是一种数据结构,python里list(列表)、dict(字典)、tuple(元组)、set(集合)等都是属于数据结构,其中list也是数组。

Numpy相比于列表的优势

我们先来谈谈list列表吧。

列表中的元素可以是任意对象,分散式的把数据存储在内存当中,所以列表里有多少数据就需要有多少的指针,事实上列表中保存的是元素的指针,用来指向存储元素的内存地址。

但我们只想保存数据,并不想要保存指针,从算法的空间和时间优化来看,这样占据了很大的内存空间,同时也增加了计算量和时间,这是一种浪费!

而numpy却可以克服这些缺陷,因为numpy会把数据连续的存储在内存中,然后利用现代cpu的矢量化指令计算,加载寄存器中的多个连续浮点数(其实这点我也还不能理解,先分享给大家,万一有人懂呢~)。

除此之外,numpy中的矩阵计算可以采用多线程的方式,充分利用CPU计算资源,来达到提升计算效率的目的。

课程里还提到了一个重要的规则:避免采用隐式拷贝,而应该就地操作。简单来说就是,能靠自己就不要去依靠别人。就拿自增来说吧,可以简单点写成 x+=2,就不要搞太麻烦写成 y =x+2。。。

好啦,今天就先分享到这,文章里还有很多不理解的地方,比如数据存储的原理,聪明的你愿意和我 分享你的看法吗

本文分享自微信公众号 - 佛系编程人(py520llj)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏R语言交流中心

R语言实现meta分析过程中的可视化展示

大家应该很熟悉meta分析,所谓meta分析就是一个全面收集所有相关研究并逐个进行严格评价和分析,再用定量合成的方法对资料进行统计学处理得出综合结论的整个过程。...

31320
来自专栏点云PCL

window下CMake与VTK安装

此文章是讲述在window下安装和配置VTK工具包的记录,Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形...

18720
来自专栏R语言交流中心

R语言实现拷贝数变异评估预测

大家对拷贝数变异很熟悉,为了对样本进行更有意义的拷贝数变异评估,有很多学者建立了很多算法去评估拷贝数。我们今天介绍一个和拷贝数评估相关的R包CNAnorm。

6720
来自专栏不仅仅是python

web爬虫项目实战-分类广告网站的数据抓取

今天我们使用Web抓取模块(如Selenium,Beautiful Soup和urllib)在Python中编写脚本来抓取一个分类广告网站Craigslist的...

17130
来自专栏码神路漫漫

对 python 中变量值交换的一些思考

在编程中,一旦提到变量值的交换,脑海中最先浮现的做法就是引入一个临时变量作为媒介来做,来看看具体的实现。

10430
来自专栏博客同步

HTML5表单

number : 只能包含数字的输入框 color : 颜色选择器 datetime : 显示完整日期(chrome) datetime-local...

15130
来自专栏FunTester

关于python版微信使用经验分享

本人最近在使用python版的微信做了一些模拟操作,使用的wxpy封装好的框架api,聊天机器人接入的是图灵,其他的暂时还没有功能的接入计划。

17440
来自专栏R语言交流中心

R语言实现UMAP降维模型

UMAP算法被认为是与t-SNE相似的原理,都是将高维概率分布映射到低维空间的算法,从而做到降维的效果。主要基于流形理论和拓扑算法的理论,对高维数据进行降维,从...

95020
来自专栏算法与编程之美

Python基础 | 为什么经常会将list()转化为numpy.array()类型

在平时用python做开发或者阅读流行的开源框架的源码的时候,经常会看到一些代码将普通的列表list()类型转化为numpy的array(),如下所示:

41630
来自专栏点云PCL

python-pcl以及相关资料分享

PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结...

34110

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励