说明:本blog基于python3版本, numpy 1.22.0
前言
本文主要介绍numpy的三种方法:sort,unique和in1d方法
一、sort方法
numpy.sort(目标数组)方法是对数组进行全元素/按轴进行排序
【注:numpy.sort(目标数组)方法返回的是原数组的copy, 而不是“视图”】
【注:目标数组.sort()方法返回的是原数组的“视图”,而不是copy】
1.1 首先,我想对数组a的进行“全元素”排序,
先使用numpy.sort(目标数组)方法
代码如下
import numpy as np
a = np.array([[1,-2,-3],[4,-5,6]])
b = np.sort(a)
print(a)
print(b)
结果如下,
[[ 1 -2 -3]
[ 4 -5 6]]
[[-3 -2 1]
[-5 4 6]]
再使用 目标数组.sort()方法
代码如下
import numpy as np
a = np.array([[1,-2,-3],[4,-5,6]])
a.sort()
print(a)
结果如下,
[[-3 -2 1]
[-5 4 6]]
大家看到区别了吗?可以自我实现一下~
1.2 然后利用sort方法,对a的做“行”排序
使用np.sort(目标数组)方法
代码如下
import numpy as np
a = np.array([[1,-2,-3],[4,-5,6]])
b = np.sort(a, axis = 1)
print(a)
print(b)
结果如下,
[[ 1 -2 -3]
[ 4 -5 6]]
[[-3 -2 1]
[-5 4 6]]
不错,是我们想要的
二、unique方法
numpy.unique(目标数组)方法返回一个由目标数组中唯一值排序后形成的一维数组
代码如下,
import numpy as np
a = np.array([[1,-2,-3],[4,-5,6]])
b = np.unique(a)
print(a)
print(b)
结果如下,
[[ 1 -2 -3]
[ 4 -5 6]]
[-5 -3 -2 1 4 6]
三、in1d方法
numpy.in1d(测试数组,目标数组)方法返回一个布尔值数组;即判断测试数组中的元素是否再目标数组中的数组
代码如下,
import numpy as np
a = np.array([[1,-2,-3],[4,-5,6]])
b = np.array([1,3,9,10])
c = np.in1d(a,b)
print(c)
结果如下,
[ True False False False False False]
这个方法是数据分析中查询某个变量值的常见方法。
总结
写在最后,如果本blog对你帮助,欢迎点赞讨论~