沧州企业网站制作,ui设计师是什么,手机网站支付如何制作,网站建设 添加本地视频教程1 python数据分析numpy基础之argmin求数组最小值索引
python的numpy库的argmin()函数#xff0c;用于获取沿指定轴的最小值的索引。
用法
numpy.argmin(a, axisNone, outNone, *, keepdimsno value)描述
argmin()返回沿指定轴的最小值的索引。
入参axis表示指定轴…1 python数据分析numpy基础之argmin求数组最小值索引
python的numpy库的argmin()函数用于获取沿指定轴的最小值的索引。
用法
numpy.argmin(a, axisNone, outNone, *, keepdimsno value)描述
argmin()返回沿指定轴的最小值的索引。
入参axis表示指定轴默认为None表示整个数组的最小值的索引而不是某个轴的最小值即转为一维数组后的最小值的索引。axis只能为整数不支持整数元组。
入参keepdims表示是否保留指定轴的尺寸为1默认为False不保留。
1.1 入参a
numpy.argmin()的入参a为必选入参可以为数组、列表、元组。 import numpy as np
# 入参a为列表np.argmin([-5,-10,0,1,5])
1
# 入参a为元组np.argmin((-5,-10,0,1,5))
1
# 入参a为数组np.argmin(np.array((-5,-10,0,1,5)))
11.2 入参axis为整数
numpy.argmin()的入参axis为可选入参只能为整数不支持元组范围[0, ndim)默认为None表示求整个数组的最小值的索引若为多维数组则转换为一维数组来获取最小值的索引。
若axisn为整数则对沿指定轴n的元素求最小值的索引并且只返回指定轴的索引其他轴索引不返回。
若axis负数则-1对应最后一个轴-2倒数第2个轴依此类推。
最小值多次出现时argmin()返回第一次出现的索引。
np.ndindex(ar3.shape) 获取指定形状数组的索引迭代器对象遍历迭代器索引获取数组元素。 import numpy as npar3np.array([[[12, 13, 8, 15 ],[ 19, 25, 16, 5],[ 18, 29, 10, 31]],[[9, 11, 21, 3],[16, 17, 18, 19],[20, 3, 22, 23]]])
# axis默认为None返回整个数组的最小值的索引np.argmin(ar3)
15
# ar3最小值为3np.min(ar3)
3
# axisNone时ar3相当于一维数组ar3.reshape(ar3.size)
array([12, 13, 8, 15, 19, 25, 16, 5, 18, 29, 10, 31, 9, 11, 21, 3, 16,17, 18, 19, 20, 3, 22, 23])
# 最小值多次出现时返回第一次出现的索引
# 索引为15的值为最小值3为第一次出现的索引索引argmin()返回15ar3.reshape(ar3.size)[15]
3
# 索引为21的值为最小值3ar3.reshape(ar3.size)[21]
3
# np.ndindex(ar3.shape) 获取指定形状数组的索引迭代器对象ar3vis[str(ar3[i])str(i) for i in np.ndindex(ar3.shape)]ar3vinp.array(ar3vi).reshape(ar3.shape)
# 获取ar3数组和其索引
# n维数组由n个轴的索引组成
# 比如三维数组索引(1, 0, 0)分别表示0/1/2轴的索引ar3vi
array([[[12(0, 0, 0), 13(0, 0, 1), 8(0, 0, 2), 15(0, 0, 3)],[19(0, 1, 0), 25(0, 1, 1), 16(0, 1, 2), 5(0, 1, 3)],[18(0, 2, 0), 29(0, 2, 1), 10(0, 2, 2), 31(0, 2, 3)]],[[9(1, 0, 0), 11(1, 0, 1), 21(1, 0, 2), 3(1, 0, 3)],[16(1, 1, 0), 17(1, 1, 1), 18(1, 1, 2), 19(1, 1, 3)],[20(1, 2, 0), 3(1, 2, 1), 22(1, 2, 2), 23(1, 2, 3)]]],dtypeU11)
# axis0只返回沿0轴最小值的索引0轴大小为2索引只有0,1np.argmin(ar3,axis0)
array([[1, 1, 0, 1],[1, 1, 0, 0],[0, 1, 0, 1]], dtypeint64)
# min()获取0轴最小值argmin()获取0轴最小值的索引
# 比如9的索引为(1, 0, 0)取0轴索引1np.min(ar3,axis0)
array([[ 9, 11, 8, 3],[16, 17, 16, 5],[18, 3, 10, 23]])
# axis1只返回沿1轴最小值的索引1轴大小为3索引只有0,1,2np.argmin(ar3,axis1)
array([[0, 0, 0, 1],[0, 2, 1, 0]], dtypeint64)
# 比如3(1, 2, 1)取1轴索引2np.min(ar3,axis1)
array([[12, 13, 8, 5],[ 9, 3, 18, 3]])
# axis2只返回沿2轴最小值的索引2轴大小为4索引只有0,1,2,3 np.argmin(ar3,axis2)
array([[2, 3, 2],[3, 0, 1]], dtypeint64)
# 比如 5(0, 1, 3)取2轴索引3np.min(ar3,axis2)
array([[ 8, 5, 10],[ 3, 16, 3]])
# axis负数则-1对应最后一个轴-2倒数第2个轴依此类推。np.argmin(ar3,axis-1)
array([[2, 3, 2],[3, 0, 1]], dtypeint64)1.3 入参keepdims
numpy.argmin()的入参keepdims为可选入参只能为False或True默认为False。
keepdims为False则不保留指定轴的尺寸即返回最小值索引的数组形状不包括指定轴。
keepdims为True则保留指定轴的持仓为1即返回最小值索引的数组形状包括指定轴且大小为1。 import numpy as npar3np.array([[[12, 13, 8, 15 ],[ 19, 25, 16, 5],[ 18, 29, 10, 31]],[[9, 11, 21, 3],[16, 17, 18, 19],[20, 3, 22, 23]]])kdntnp.argmin(ar3,keepdimsTrue)kdnfnp.argmin(ar3,keepdimsFalse)kdnnp.argmin(ar3)
# keepdimsTrue,最小值索引数组保留指定轴且尺寸为1kdnt.shape,kdnt.ndim
((1, 1, 1), 3)
# keepdimsFalse,最小值索引数组删除指定轴kdnf.shape,kdnf.ndim
((), 0)
# keepdims默认False,最小值索引数组删除指定轴kdn.shape,kdn.ndim
((), 0)kdnt,kdnf,kdn
(array([[[15]]], dtypeint64), 15, 15)kd0tnp.argmin(ar3,axis0,keepdimsTrue)kd0np.argmin(ar3,axis0)
# True保留axis0且尺寸为1kd0t.shape,kd0t.ndim
((1, 3, 4), 3)
# False删除axis0kd0.shape,kd0.ndim
((3, 4), 2)kd0t
array([[[1, 1, 0, 1],[1, 1, 0, 0],[0, 1, 0, 1]]], dtypeint64)kd0
array([[1, 1, 0, 1],[1, 1, 0, 0],[0, 1, 0, 1]], dtypeint64)kd1tnp.argmin(ar3,axis1,keepdimsTrue)kd1np.argmin(ar3,axis1)
# True保留axis1且尺寸为1kd1t.shape,kd1t.ndim
((2, 1, 4), 3)
# False删除axis1kd1.shape,kd1.ndim
((2, 4), 2)kd1t
array([[[0, 0, 0, 1]],[[0, 2, 1, 0]]], dtypeint64)kd1
array([[0, 0, 0, 1],[0, 2, 1, 0]], dtypeint64)