[TOC]
# 每个数组排序
~~~
import numpy as np
tang_array = np.array([[1.5, 1.3, 7.5], [5.6, 7.8, 1.2]])
sort = np.sort(tang_array)
print(sort)
~~~
输出
~~~
[[ 1.3 1.5 7.5]
[ 1.2 5.6 7.8]]
~~~
# 按照维度排序
~~~
import numpy as np
tang_array = np.array([[1.5, 1.3, 7.5], [5.6, 7.8, 1.2]])
sort = np.sort(tang_array, axis=0)
print(sort)
~~~
输出
~~~
[[ 1.5 1.3 1.2]
[ 5.6 7.8 7.5]]
~~~
**指定不同维度不同排序**
~~~
import numpy as np
tang_array = np.array([[1, 0, 6],
[1, 7, 0],
[2, 3, 1],
[2, 4, 0]])
# 先按第2列升序(tang_array[:, 2]),然后按照第0列降序,满足前面条件下,再满足后面的
index = np.lexsort([-1 * tang_array[:, 0], tang_array[:, 2]])
# 得到索引
print(index)
# 根据索引得到结果
print(tang_array[index])
~~~
输出
~~~
[3 1 2 0]
[[2 4 0]
[1 7 0]
[2 3 1]
[1 0 6]]
~~~
# 打印排序的索引
~~~
import numpy as np
tang_array = np.array([[1.5, 1.3, 7.5], [5.6, 7.8, 1.2]])
print(tang_array)
argsort = np.argsort(tang_array)
print(argsort)
~~~
输出
~~~
[[ 1.5 1.3 7.5]
[ 5.6 7.8 1.2]]
[[1 0 2]
[2 0 1]]
~~~
# 查询插入的位置
~~~
import numpy as np
# 按照一个平均差异构造十个数(0到10)
tang_array = np.linspace(0, 10, 10)
print(tang_array)
# 准备把这些元素插入进去
values = np.array([2.5, 6.5, 9.5])
# 查询插入的位置,要求是排好序的结果
searchsorted = np.searchsorted(tang_array, values)
print(searchsorted)
~~~
返回
~~~
[ 0. 1.11111111 2.22222222 3.33333333 4.44444444
5.55555556 6.66666667 7.77777778 8.88888889 10. ]
[3 6 9]
~~~