=== np.where函数 ===
np.where( 判断条件[布尔类型数组],True使用的值,False使用的值 )
例1:两组数据,取对应位置较大的值
arr1 = np.array([1,2,3,4])
arr2 = np.array([3,1,4,2])
np.where((arr1>arr2),arr1,arr2)
array([3, 2, 4, 4])
例2:将nan值替换成0
data = np.array([np.nan,1.1,1.2,np.nan])
print(data)
np.where(np.isnan(data),0.,data)
[ nan 1.1 1.2 nan]
[ 0. , 1.1, 1.2, 0. ]
=== np.unique函数 ===
去重操作
arr = np.random.randint(0,10,100).reshape(10,-1)
print(arr)
print('-'*25)
print(np.unique(arr))
print('-'*25)
print(np.unique(arr,axis=0))
print('-'*25)
print(np.unique(arr,axis=1))
原方阵
[[6 9 3 4 5 8 5 8 0 1]
[6 7 4 1 1 8 7 3 4 7]
[1 0 6 3 3 7 5 4 4 3]
[5 7 6 1 9 7 2 0 6 8]
[4 9 5 7 1 0 9 4 5 9]
[2 8 1 0 7 5 9 7 0 0]
[1 8 9 2 4 5 9 8 3 4]
[0 8 6 5 4 1 0 7 3 1]
[7 3 4 8 9 2 1 1 7 2]
[9 6 4 1 8 8 9 6 2 3]]
-------------------------
对所有元素进行去重
[0 1 2 3 4 5 6 7 8 9]
-------------------------
竖向去重 axis=0 横向去重 axis=1
结果都和原来一样,原因在于去重的对象是方阵
只有所有列的元素都相同,才能对行进行去重
[[0 8 6 5 4 1 0 7 3 1]
[1 0 6 3 3 7 5 4 4 3]
[1 8 9 2 4 5 9 8 3 4]
[2 8 1 0 7 5 9 7 0 0]
[4 9 5 7 1 0 9 4 5 9]
[5 7 6 1 9 7 2 0 6 8]
[6 7 4 1 1 8 7 3 4 7]
[6 9 3 4 5 8 5 8 0 1]
[7 3 4 8 9 2 1 1 7 2]
[9 6 4 1 8 8 9 6 2 3]]
-------------------------
[[0 1 3 4 5 5 6 8 8 9]
[4 7 4 1 1 7 6 3 8 7]
[4 3 6 3 3 5 1 4 7 0]
[6 8 6 1 9 2 5 0 7 7]
[5 9 5 7 1 9 4 4 0 9]
[0 0 1 0 7 9 2 7 5 8]
[3 4 9 2 4 9 1 8 5 8]
[3 1 6 5 4 0 0 7 1 8]
[7 2 4 8 9 1 7 1 2 3]
[2 3 4 1 8 9 9 6 8 6]]