首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一堆数据摆在你面前,老板让你画成图表,怎么做?

第一时间关注 Python 技术干货!

阅读文本大概需要 6 分钟。

最近读者群里有在校大学生读者抛出疑问,校招的 Python 岗位特别少,不知前景到底如何?我给他列出了 Python 的一些主要应用场景。

人工智能,但是门槛高,要求有 985、211 高学历背景。

数据分析,应用场景:运营人员,自媒体人员。

自动化运维,运维人员借助 python 自动化,可以节省很多重复的工作

自动化测试、测试开发,同样,借助 Python自动化,可以节省很多重复的工作,并开发出符合公司特点的测试工具。

其他还有很多场景,你看看这些场景,都是有业务支撑的。技术脱离了业务只是代码,没有意义。Python 只是工具,你要想想,你能用它能做什么,老板要的是结果,而不是你会 Python 就行。

如果你学历不够,你让我推荐一个方向的话,我会推荐你选择数据分析方向。因为,我们生活在数据驱动一切的时代,近几年,每到年末,各大平台就是出炉他们平台的数据汇总。大数据是让我们接近事实真相的一条明路。所以现在的市场上,数据分析师,数据产品经理,有数据思维的运营人员,都是很吃香的,他可以让你在你的专业上如虎添翼。

你用爬虫或者手工收集了一堆数据,无序的摆在你面前,你怎么做才让这些数据看起来有规律可循,怎样才能画成图表让老板能看懂。那就要借助相应的工具或者 Python 的处理库了。

今天给大家分享一个数据分析处理数据的常见的库:Numpy。这个库是 Python 数据分析的基础,它提供的数据结构比 Python 自身的更高效。我们知道 Python 有自带的列表数据结构。Numpy 库和 list 列表有什么区别呢?

python list 列表保存的是对象的指针,比如 [0,1,2] 需要保存 3 个指针和 3 个整数的对象,这样就很浪费内存了。

那 Numpy 是怎么存数据的呢?Numpy 是储存在一个连续的内存块中,节约了计算资源。

小技巧

避免采用隐式拷贝,多用就地操作,比如你想打印 5 个 b,有两种方法:

Numpy 库安装

直接使用 pip 命令安装,简单方便。

ndarray对象

NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。在 NumPy 中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是一个一维数组,而这个一维数组中每个元素又是一个一维数组。所以这个一维数组就是 NumPy 中的轴(axes),而轴的数量——秩,就是数组的维数。

ndarray 内部由以下内容组成:

一个指向数据(内存或内存映射文件中的一块数据)的指针。

数据类型 dtype,描述在数组中的固定大小值的格子。

一个表示数组形状(shape)的元组,表示各维度大小的元组。

创建数组

用 shape 属性获得数组的大小。

更改数组的元素,把元素中 5 换成 0,直接用下标。

通过 dtype 获得元素的属性。

结构数组

比如我想统计一个班的学生姓名、语文、数学、英语成绩,当然我们可以通过下标来获取,当这样不够高效。用 Numpy 怎么操作呢?我们得先用 dtype 定义好自定义的数据结构。

然后我们用 array 定义真实数据的数组时,把 stype 元素属性定义为上面自定义的数据结构,这样就可以调用自定义的数据结构了。

我们把需要的值全部取出来,这里我们取出全部的值。

数据提取出来之后我们就可以对数据进行处理了,比如,我们要求这三个学生各科成绩的平均值。在 Numpy 库中,mean() 用来求平均值。

很多伙伴可能觉得很繁琐,但是这种通过自己自定义的数据结构更方便,特别是针对庞大的数据量,整理数据的能力也更高效。

ufun运算

ufun 是 universal function 的缩写,对数组中的每个元素进行函数式的操作,计算速度快,因为很多 ufun 函数都是采用 C 语言实现的。

创建连续数组

两种函数可以创建,第一种用 arange 函数创建,格式:arange(初始值,终值,步长),其中终值是开区间,不包括其值。

第二种用 linspace 函数创建,格式:linspace(初始值,终值,元素个数),其中终值是闭区间,包括其值。

算法运算

可以对数组进行基本的加减乘除、取余运算。

加减乘除运算

用上面两个函数创建的数组举例。

计算数组中最大值、最小值、平均值,标准差、方差。

数据分析的基础库 Numpy 库的基本用法就介绍到这里。

觉得不错,点好看、戳下鸡腿、转发朋友圈都是一种支持。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190221G0O8TP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券