python3机器学习经典算法与应用之Numpy.array基本操作(一)

Numpy.array的基本操作

首先创建一个一位数组x,再创建一位数组X,通过reshape()方法调整数组的维度。
在这里插入图片描述

基本属性

属性ndim用于查看数组的维度。
在这里插入图片描述
属性shape也可以同样用来表示维度,但是返回值为元组,表示各个维度的长度。
在这里插入图片描述
属性size表示元素个数(数组长度)。
在这里插入图片描述

numpy.array数据访问

1.方括号[]+索引的方式

其中索引可以为正数也可以为负数。
在这里插入图片描述
对于多维度矩阵可以使用多个方括号来访问。在这里插入图片描述

2.切片

使用:来访问一段距离的元素
在这里插入图片描述
:前面的参数默认为从矩阵起始开始访问,后面的参数默认到矩阵终止为止。
在这里插入图片描述
在这里插入图片描述
同时还可以指定第三个参数,也就是步长(step),通过指定步长可以访问特定元素。
在这里插入图片描述
二维数组的访问形式稍微有所区别
例如:访问前两行前三列
在这里插入图片描述
解析下面的X切片存取过程,首先X取前两行,然后返回一个列表,再和后面的切片结合相当于再去这个返回列表的前三行,所以结果就如下图所示。
在这里插入图片描述
多维数组访问使用在一个方括号内使用,分隔的方式,而不是多个方括号的索引方式。见下图的两种,推荐使用第二种。
在这里插入图片描述
当步长为-1时表示将一行数据元素逆转,所以两个-1将行和列都逆转了。
在这里插入图片描述
只取某一行或某一列的形式。下图中分别对应只取第一行或者只取第一列。
在这里插入图片描述
创建一个X的子矩阵(前两行,前三列),对子矩阵的元素进行修改会发现原矩阵的元素也发生了改变。这是numpy自身的特性,因为处于效率考虑没有创建一个全新的矩阵。同理修改原矩阵的元素,子矩阵也会发生改变。因为原矩阵和子矩阵的引用同一个数组。
在这里插入图片描述
想要创建一个和原矩阵的副本(和原矩阵脱离关系),使用copy()函数,此时无论是对X或subX进行修改都不会影响到另一个的矩阵。
在这里插入图片描述

3.reshape()方法

reshape()函数用于改变矩阵维度,参数可以是各个维度的长度,也可以包装成元组作为参数进行传递。修改维度并不是发生在原本的矩阵上,观察下面例子就会发现x本身并没有发生改变,只有重新存储起来才会有效。
在这里插入图片描述
通过指定参数为-1可以确定固定有多少行或者多少列。**前提是行数或者列数可以被元素个数整除。**下图展示了化为10和10列的方法。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值