1. numpy.flat
x = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
print(x.flat[4])
print(x.flat)
>>
>5
><numpy.flatiter object at 0x000001A03B2CB340>
可知numpy.flat将多维的数组转化成一维数组,并返回numpy.flatiter类型的迭代器
而x.flatten()直接返回一维的数组
x = x.flatten()
print(x)
>>
>[1 2 3 4 5 6 7 8]
2. np.concatenate()
x = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
x1 = np.concatenate(x, axis=0)
print(x1)
x2 = np.concatenate(x, axis=1)
print(x2)
>>
>[[1 2]
[3 4]
[5 6]
[7 8]]
>[[1 2 5 6]
[3 4 7 8]]
np.concatenate可选择想要连接的轴
3. np.unique()
x = np.array([[[4,2],[1,3]], [[5,5],[5,5]]])
x = np.unique(x)
print(x)
>>
>[1 2 3 4 5]
np.unique会去除x中多余的相同数字并对数组中的数字进行排序,并返回一维的数组。
4. np.argsort()
x = np.array([3,1,2]).argsort()
y = np.array([1,2,3]).argsort()[::-1]
print(x)
print(y)
>>
[1 2 0]
[2 1 0]
argsort为排序函数,以升序的形式返回数组下标索引,若想要以降序的形式返回,可添加[::-1]。