机器学习篇—Numpy数值计算基础(下)

Numpy库是支持 Python 语言的数值计算第三方库,其拥有强大的多维数组处理与矩阵运算能力;是机器学习的必不可少的工具。本文是在学习了Numpy数值计算课程之后,做的些许笔记。

Numpy数组的索引与切片

数组索引

//一维数据索引
data[x] //索引一个数
data[[x,y,z]]//索引多个数
//二维数据索引
data[x,y]//索引一个数
data[[x1,x2],[y1,y2]]//索引两个数
//三维数据索引
data[[x1,x2],[y1,y2],[z1,z2]]

数组切片

//一维数据的索引
Ndarray[start:stop:step] // 与python里的list切片操作是一样
//[start:stop:step] 分别代表 [起始索引:截至索引:步长]
//多维数据的索引,只需用逗号 , 分割不同维度
data[row1:row2,column1:column2] //二维数组切片,三维类似

Numpy数组排序、搜索及计数

//排序
numpy.sort(a, axis=-1, kind='quicksort', order=None)
//a:数组。
//axis:要排序的轴。如果为None,则在排序之前将数组铺平。默认值为 -1,沿最后一个轴排序。
//kind:{'quicksort''mergesort''heapsort'},排序算法。默认值为 quicksort。
示例:
a = np.random.randn(20).reshape(4, 5)
array([[-0.58130556,  0.14581941,  0.80553632, -1.87284741, -0.41056494],
       [ 0.10856851, -0.66159494,  0.52620339, -0.15663751,  0.23842936],
       [ 0.24581893,  0.85822414,  1.96948944, -0.33772201,  0.19478995],
       [-1.18558649, -0.88364367, -0.80021437, -1.27308585, -0.61206656]])
结果:
np.sort(a)
array([[-1.87284741, -0.58130556, -0.41056494,  0.14581941,  0.80553632],
       [-0.66159494, -0.15663751,  0.10856851,  0.23842936,  0.52620339],
       [-0.33772201,  0.19478995,  0.24581893,  0.85822414,  1.96948944],
       [-1.27308585, -1.18558649, -0.88364367, -0.80021437, -0.61206656]])
//其他方法
//numpy.lexsort(keys ,axis):使用多个键进行间接排序。
//numpy.argsort(a ,axis,kind,order):沿给定轴执行间接排序。
//numpy.msort(a):沿第 1 个轴排序。
//numpy.sort_complex(a):针对复数排序。
//搜索和计数
argmax(a ,axis,out):返回数组中指定轴的最大值的索引。
nanargmax(a ,axis):返回数组中指定轴的最大值的索引,忽略 NaN。
argmin(a ,axis,out):返回数组中指定轴的最小值的索引。
nanargmin(a ,axis):返回数组中指定轴的最小值的索引,忽略 NaN。
argwhere(a):返回数组中非 0 元素的索引,按元素分组。
nonzero(a):返回数组中非 0 元素的索引。
flatnonzero(a):返回数组中非 0 元素的索引,并铺平。
where(条件,x,y):根据指定条件,从指定行、列返回元素。
searchsorted(a,v ,side,sorter):查找要插入元素以维持顺序的索引。
extract(condition,arr):返回满足某些条件的数组的元素。
count_nonzero(a):计算数组中非 0 元素的数量。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值