Numpy---ndarray的元素处理

元素计算函数:

  1. ceil()
  2. floor()
  3. rint()
  4. isnan()
  5. multiply()
  6. divide()
  7. abs()
  8. where()
import numpy as np

arr1 = np.random.randint(-1,5,size=(2,3))

arr2 = np.random.randn(3,4)
print(arr2)
print(np.ceil(arr2))    #ceil向上取最接近的整数
print(np.floor(arr2))   #floor向下取最接近的整数
print(np.isnan(arr2))   #isnan判断元素是否为nan
print(np.abs(arr2))     #abs元素取绝对值
print(np.where(arr2>0,1,-1))   #x if condition else y

运行结果:

[[ 0.22015676 -1.36790036 -0.18797522  0.31700669]
 [ 1.10109342  1.08298716 -1.88519233 -1.01841912]
 [ 0.15248474  0.88077526  0.60347991  0.30973029]]
[[ 1. -1. -0.  1.]
 [ 2.  2. -1. -1.]
 [ 1.  1.  1.  1.]]
[[ 0. -2. -1.  0.]
 [ 1.  1. -2. -2.]
 [ 0.  0.  0.  0.]]
[[False False False False]
 [False False False False]
 [False False False False]]
[[0.22015676 1.36790036 0.18797522 0.31700669]
 [1.10109342 1.08298716 1.88519233 1.01841912]
 [0.15248474 0.88077526 0.60347991 0.30973029]]
[[ 1 -1 -1  1]
 [ 1  1 -1 -1]
 [ 1  1  1  1]]

元素统计函数

  1. mean()
  2. max()
  3. std()
  4. argmax()
  5. cumsum()
  6. axis
import numpy as np

arr = np.arange(12).reshape(3,4)
print(arr)


print(np.cumsum(arr))  #返回一个以为数组,每个元素都是之前所有元素的累加和
print(np.sum(arr))     #返回数组所有元素的和
print(np.sum(arr,axis=0))   #返回数组的和按照列来统计
print(np.sum(arr,axis=1))   #返回元素的和按照行来统计

结果:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[ 0  1  3  6 10 15 21 28 36 45 55 66]
66
[12 15 18 21]
[ 6 22 38]

元素判断函数

  1. np.any()
  2. np.all()
import numpy as np

arr = np.random.randn(2,3)
print(arr)

print(np.any(arr<0))      #有满足条件的就直接返回True

print(np.all(arr>0))       #所有元素满足指定的条件就返回True,否则就返回False

结果:

[[ 0.36290601  0.21466973  0.84532879]
 [ 0.27013958 -0.29419435  0.06747976]]
True
False

元素去重排序函数

np.unique()

import numpy as np

arr = np.random.randint(-1,5,(3,4))
print(arr)
print("*"*100)
print(np.unique(arr))   #将arr数组中的重复元素去除,类似于python里面的set

结果:

[[ 0 -1  2  4]
 [ 0  1  4  1]
 [ 4  1  2  1]]
****************************************************************************************************
[-1  0  1  2  4]

猜你喜欢

转载自blog.csdn.net/qq_40637313/article/details/89081017
今日推荐