Python入门教程(二):Numpy数组基础

是这样的,想请问一下,Python入门教程(二):Numpy数组基础
最新回答
西雅图很忙°

2024-10-12 08:47:08

坚持写作两年,我的第一本书 《数据分析之道——用数据思维指导业务实战》正式出版啦!

Python中的数组操作几乎等同于Numpy数组操作,今天我们会展示用Numpy数组操作获取数据或者子数组,对数组进行分裂,变形和连接的例子。

首先,我们先介绍几类基本的数组操作:

数组的属性

确定数组的大小,形状,储存大小,数据类型

数组的索引:

获取和设置各个元素的值

数组的切分:

在大的数组中获取或设置更小的子数组

数组的变形

改变给定数组的形状

数组的拼接和分裂

将多个数组合并为一个,以及将一个数组分类为多个。

1 Numpy数组的属性

Numpy数组的属性包括ndim(数组的维度),shape(数组每个维度的大小),size(数组总的大小),dtype(数据类型)以及itemsize(每个数组元素的字节大小)下面我们通过几个示例来了解数组的属性。

首先,生成不同维度的数组。

其次,查看x3数组的属性,有结果可见,x3是一个3维的数组,每一个维度都有三行四列,其中一共包含60个元素。

查看数组的数据类型

查看数组每个元素的字节大小,一般情况下nbytes=itemsize*size

2 数组索引-获取单个元素

一维数组

在一维数组中可以通过中括号指定索引获取第i个值。

Python中的索引从0开始计数,直到n-1,以下例子获取了x1中的第1一个数值和第5个值。

负值索引可以获取末尾索引。

多维数组

在多维数组中,可以用逗号分隔的索引元组获取元素。

3 数组切片-获取子数组

切片(slice)符号为冒号加中括号,可以获取子数组,其语法与Python列表的标准切片语法相同,包括三个参数,分别是开始位置,结束位置,bu cha其表现形式如下:

x[start:stop:step]

一维子数组

一维逆序数组

多维子数组

多维切片也采用同样的处理方式,用逗号分隔。

获取数组的行和列

如果需要获取数组的单行或者单列,可以通过索引与切片组合起来实现这个功能,用冒号(:)来表示这个功能。

4 数组的变形

reshape()函数实现数组的变形

reshape()函数实现数组的变形需要保证的是,与啊是数组的大小必须和变形后的数组大小保持一致。

reshape()或newaxis()将一维数组转换为二维数组的行或列的矩阵

5 数组的拼接和分裂

数据的拼接

当我们遇到多个数组,想要把这些数组合并到一起就涉及到了数组的拼接,常用的拼接函数有np.concatenate, np.vstack, 和np.hstack,具体用法请看下面示例。

np.vstack(垂直栈)和np.hstack(水平栈)实现沿着固定维度处理数组。

与拼接相反的过程是分裂,分裂常用到的函数有np.split, np.hsplit, and np.vsplit函数实现,可以向上传递一个索引列表作为参数,索引列表记录为分裂点位置。N个分裂点会得到N+1个子数组

数据分析师除了掌握数据分析工具之外,拥有数据思维也是极为重要的。 数据分析师这个岗位并不直接参与到业务决策中,就算数据分析师提出合理、切实可行的意见或建议,业务方也不一定采纳。所以这类问题考验的已经不是数据分析师基础的数据分析能力,更多的是其软技能、沟通能力及影响力。数据分析师在提出意见和建议时可以考虑用图表代替文字说明问题,用业务方听得懂的话代替专业术语陈述建议。另外,如果你的建议能够帮助业务方提升 KPI,那么业务方多少会对你的建议感兴趣。当然,从不同的业务出发,从不同的分析角度着手,都能提出各种不同的建议。所以本节只是抛砖引玉,至于如何在不同业务形态中提出合理、可行的建议,就需要数据分析师在实践中积累了。

市面上大部分数据分析相关的书籍都是从工具的介绍开始的,但很多时候数据分析主要依靠数据思维。 特别是面对复杂业务场景时,对于业务的熟悉程度及数据思维显得尤为重要。 因为数据思维决定了分析问题的角度及合理性,只要数据分析师能够针对特定问题提出分析方案,无论用什么工具都可以得到结果,因此数据思维是数据分析师成长进阶路上的必修课。 而市面上关于数据思维的书籍较少且部分书籍讲授的知识点较浅,能够将数据思维、编程语言、统计学思想及案例分析等融为一体的书籍少之又少,强烈给大家推荐这本以数据分析全流程为主线的数据思维的书——《数据分析之道——用数据思维指导业务实战》。

附上全书的目录,本书围绕数据思维展开,一共11章内容。

Python系列文章持续更新中

往期推荐

史上最全的统计学基础知识!错过这次再等一年!!

你的Python基础知识是成体系的吗?这套核心知识体系思维导图送给你!

SQL知识大全(六):SQL中的开窗函数

史上最全的MySQL字符串函数,赶紧收藏!!

SQL知识大全(五):SQL中的时间函数

这份干货请你收好,长达2万字的时间函数总结,建议收藏!

分享数据知识,成就数据理想

点个在看 你最好看