我想將一個數(shù)組的元素與一個標(biāo)量進(jìn)行比較,并獲得一個具有最大比較值的數(shù)組。那是我想打電話給import numpy as npnp.max([1,2,3,4], 3)想要得到array([3,3,3,4])但是我明白了ValueError: 'axis' entry is out of bounds當(dāng)我跑步時np.max([[1,2,3,4], 3])我懂了[1, 2, 3, 4]這是列表中的兩個元素之一,而不是我想要的結(jié)果。是否有一個Numpy解決方案能夠像其他內(nèi)置函數(shù)一樣快速?
2 回答

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗 獲得超6個贊
這已經(jīng)內(nèi)置在numpy中,具有以下功能np.maximum:
a = np.arange(1,5)
n = 3
np.maximum(a, n)
#array([3, 3, 3, 4])
這不會改變a:
a
#array([1, 2, 3, 4])
如果您想像@jamylak的答案中那樣改變原始數(shù)組,可以給出a以下輸出:
np.maximum(a, n, a)
#array([3, 3, 3, 4])
a
#array([3, 3, 3, 4])
文件:
maximum(x1, x2[, out])
數(shù)組元素的逐元素最大值。
等同于np.where(x1 > x2, x1, x2)但速度更快,并且可以正常廣播。

呼如林
TA貢獻(xiàn)1798條經(jīng)驗 獲得超3個贊
>>> import numpy as np
>>> a = np.array([1,2,3,4])
>>> n = 3
>>> a[a<n] = n
>>> a
array([3, 3, 3, 4])
添加回答
舉報
0/150
提交
取消