前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析之NumPy笔记(一)

数据分析之NumPy笔记(一)

作者头像
佛系编程人
发布2019-08-14 11:36:58
3300
发布2019-08-14 11:36:58
举报
文章被收录于专栏:佛系编程人

学习背景

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

现在是大数据的时代,学习数据分析是必备的技能,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。。。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 佛系编程人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档