numpy中的裁剪 壓縮和累乘

2021-08-17 19:24:04 字數 1434 閱讀 8021

主要介紹三個函式--以下numpy都用np代替

np.ndarray.clip(min,max):大於max的值會被重設成max,小於min的值會被重設成min;不指定min max預設為min 可以只選乙個 也可以都選 

in [47]: a = np.arange(1,10)

in [49]: a.clip(max=4)

out[49]: array([1, 2, 3, 4, 4, 4, 4, 4, 4])

in [51]: a.clip(min=6)

out[51]: array([6, 6, 6, 6, 6, 6, 7, 8, 9])

in [52]: a.clip(3,6)

out[52]: array([3, 3, 3, 4, 5, 6, 6, 6, 6])

in [54]: a.clip(7)

out[54]: array([7, 7, 7, 7, 7, 7, 7, 8, 9])

in [55]: a.clip(6,2)

out[55]: array([6, 6, 6, 6, 6, 2, 2, 2, 2])

in [57]: a.clip(max=3,min=5)

out[57]: array([5, 5, 5, 5, 3, 3, 3, 3, 3])

#clip()是不會改變ndarray裡元素的順序

in [58]: a=np.array([4,3,6,1])

in [60]: a.clip(2,4)

out[60]: array([4, 3, 4, 2])

in [61]: a.clip(2,3)

out[61]: array([3, 3, 3, 2])

np.ndarray.compress():返回乙個根據給定條件篩選後的陣列

in [65]: a.compress(a<4)

out[65]: array([1, 2, 3])

in [66]: a.compress((a>3)&(a<6))

out[66]: array([4, 5])

numpy.ndarray.prod():返回陣列中各元素累乘的結果

in [67]: k = 1

in [68]: for i in a:

...: k *=i

in [69]: k

out[69]: 362880

in [70]: a.prod()

out[70]: 362880

in [71]: a.cumprod()

out[71]:

array([ 1, 2, 6, 24, 120, 720, 5040, 40320, 362880])

js中陣列的歸併方法(用於項的累加 累乘)

ecmascript5新增兩種歸併方法 reduce 從陣列的第一項開始,逐個遍歷到最後。reduceright 從陣列的最後一項開始,逐個遍歷到第一項。兩種方法都接收兩個引數 乙個在每一項上呼叫的函式和作為歸併基礎的初始值 可選的 函式接收四個引數 前乙個值 當前值 項的索引和陣列物件。這個函式返...

Unity中的叉乘和點乘

兩個向量的點乘,就是我們說的數量級 a b a b cos 結果是乙個標量,如果 0,則兩個向量夾角等於90度,垂直關係 小於0,則兩個向量夾角大於90度 大於0,則兩個向量夾角小於90度 如果cos 等於 1,則兩個向量相反,等於1則兩個向量同向 如果兩個向量a,b均 為單位 向量 那麼a.b等於...

Unity中的點乘和叉乘

unity中的點乘和叉乘 點乘很多資料上都是說表示兩個向量的相似度,具體是怎麼表示相似度,結果大小如何表示相似度,越大越相似,還是越差,如果細細去推導才發現很多東西以前的理解是有錯誤或者說是不清不楚的。點乘的定義 a b a b cos 表示向量a,b的夾角,取值範圍為 0,180 根據上面的公式可...