全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Numpy数组与重塑

发布时间:2022-08-12 15:14:00
发布人:syq

  大家数据分析的环境安装没有什么问题了吧?那我们就开始登上数据分析这趟列车吧!本次列车首先从Numpy数组与重塑出发,准备好了吗我们启程了~~~~

Numpy数组与重塑

  #### Numpy是什么?

  我们一起看一下来自百度百科给出的解释:

  > NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

  通过上面的解释我们可以得出如下几点:

  1、一个强大的N维数组对象Array;

  2、比较成熟的函数库;

  4、实用的线性代数、傅里叶变换和随机数生成函数。

  另外还有两个方便实用的利器:1. Ndarray对象 2. 切片和索引

  原来我们存储数据使用列表List,但是实现大型矩阵和一些函数运算就有限了,所以我们可以将Numpy理解成就是List的升级版。

  如果安装的时候使用的anaconda安装,我们下面就可以直接使用了。但是如果不是,就需要使用pip包管理器安装一下。

  安装方法:

  > pip install numpy

  引用方法:

  > import numpy as np

  #### Numpy之Ndarray 对象

  NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

  该对象是⼀个快速⽽灵活的⼤数据集容器。你可以利⽤这种数组对整块数据执⾏⼀些数学运算,其语法跟标量元素之间的运算⼀样。

  ndarray 对象是用于存放同类型元素的多维数组。 ndarray 中的每个元素在内存中都有相同存储大小的区域。

  ##### Ndarray对象的创建

  1. 使用 np.array()函数把 python传入的序列对象创建成数组。如下:

  **numpy.array(object)**

  其中object是必须填写的参数,object可以是一个数组或者任何嵌套的序列。

  在下面的代码框中,我们使用代码创建出一套吃鸡武器列表:

  ['A416', 'AKM', 'AWM', 'win94', '铁拳火箭筒','粘性炸弹']

  ```python

  # 导入numpy数据包

  import numpy as np

  # 创建一个ndarray数组

  np.array(['A416', 'AKM', 'AWM', 'win94', '铁拳火箭筒','粘性炸弹'])

  ```

  结果:  

arange1

  这组数据里面不仅有武器,还有各种配件:6倍镜,有了配件的的加入你也试一下,看看有什么不同。

  ```python

  # 导入numpy数据包

  import numpy as np

  # 创建一个ndarray数组

  np.array([['美国队长','钢铁侠','绿巨人','黑寡妇','蜘蛛侠'],['6倍镜','步枪补偿器','轻型握把','快速扩容弹夹','步枪枪托','8倍镜']])

  ```

  运行结果:

> array([list(['美国队长', '钢铁侠', '绿巨人', '黑寡妇', '蜘蛛侠']),
> list(['6倍镜', '步枪补偿器', '轻型握把', '快速扩容弹夹', '步枪枪托', '8倍镜'])],
> dtype=object)

  嵌套序列(⽐如由⼀组等⻓列表组成的列表)将会被转换为⼀个多维数组

  ```python

  # 导入numpy数据包

  import numpy as np

  # 创建一个ndarray数组

  data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]

  np.array(data2)

  ```

  运行结果:  

创建2

  数据可以是我们通过列表创建出来的,也可以自己“假装”构造出来数据,这些数据在我们需要的时候可以随时上场。

  大将1:np.arange(start, stop, step)函数可以通过指定开始值、终值、步长来创建一个等差数列, 不包括终值;

  大将2: np.linspace(start, stop, num,endpoint)函数可以通过指定开始值、终值、元素个数创建等差数列, 通过endpoint参数指定是否包括终值,默认包括;

  大将3: zeros()、ones()函数可以创建指定的数组, 参数使用元组或列表, 大家一般都使用元组.

  先感受一番大将的风采,使用np.arange创建一个指定范围的数列。

  ```python

  # 导入numpy数据包

  import numpy as np

  # 使用arange()创建数组,类似range()函数

  x = np.arange(6)

  x

  ```

  结果:  

  还可以指定起始,结束和步长值,看一看:

  ```python

  # 导入numpy数据包

  import numpy as np

  # 使用arange()创建数组,类似range()函数

  x = np.arange(1,10,3)

  x

  ```

  结果:  

arange2

  小学的时候学过等差数列或者给你一组数据让你找规律?那时候没有掉太多头发吧?

相关文章

反欺诈中所用到的机器学习模型有哪些?

反欺诈中所用到的机器学习模型有哪些?

2023-10-14
强化学习中on-policy与off-policy有什么区别?

强化学习中on-policy与off-policy有什么区别?

2023-10-14
为什么交叉熵可以用于计算代价?

为什么交叉熵可以用于计算代价?

2023-10-14
开发网上平台的大概流程有什么?

开发网上平台的大概流程有什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取