numpy.argsort
argsort(a, axis=-1, kind=None, order=None)
返回从小到大排序后的下标列表。
参数:
a
:待排序的arrayaxis
:一个int,指示排序维度,-1表示最后一维kind
:{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’},排序方法,默认为‘quicksort’order
:定义排序顺序
1 | import numpy as np |
1 | [0 4 2 3 1] |
numpy.argmax/argmin
numpy.argmax(a, axis=None, out=None)
numpy.argmin(a, axis=None, out=None)
返回最大/小值的下标。
参数:
a
:待排序的arrayaxis
:一个int,指示排序维度,默认对array做扁平化处理out
:将结果加入out
1 | a = np.arange(6).reshape(2, 3) + 10 |
1 | [[10 11 12] |
numpy.bincount
numpy.bincount(x, weights=None, minlength=0)
统计每个元素的出现次数。
bin值为x中最大数字的值+1,函数返回一个长度为bin的array,表示每个数字的出现次数。
参数:
x
:一维非负整数arrayweights
:一个与x具有相同shape的array,可以为不同位置设定不同的统计权重minlength
:限定bin的最小值
1 | print(np.bincount(np.array([0, 1, 1, 3, 2, 1, 7]))) |
1 | [1 3 1 1 0 0 0 1] |
1 | w = np.array([0.3, 0.5, 0.2, 0.7, 1, -0.6]) |
1 | [0.3 0.7 1.1] |
numpy.split/array_split
numpy.split(ary, indices_or_sections, axis=0)
numpy.array_split(ary, indices_or_sections, axis=0)
将array分割为若干个sub-arrays。
若第二个参数是一个int N,则将array均分为N份;若第二个参数是一个一维array,则表示分割点。
split()和array_split()的区别在于当第二个参数为int且无法整除序列长度时,split()会报错,而array_split()不会。
参数:
ary
:待分割arrayindices_or_sections
:含义如上所述axis
:分割所沿的维度
1 | x = np.arange(9) |
1 | [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])] |
numpy.vstack/hstack
numpy.vstack(tup)
numpy.hstack(tup)
沿垂直/水平方向堆叠array。
参数:
tup
:一组arrays,除第一/二维度外应具有相同的shape
1 | a = np.array([1, 2, 3]) |
1 | [[1 2 3] |