python - 如何逐个元素计算数组和数字之间的最大值?

标签 python arrays numpy

我有一个 numpy 数组,我希望每个值和 0 之间有最大值。

array([  7.1788812 ,   7.16842748,   7.1601692 ,   7.16941517,
   -30.89416777, -30.89403639, -30.89971925, -30.89529326,
   -31.59193447, -31.59202963])

想要的结果:

array([ 7.1788812 ,   7.16842748,   7.1601692 ,   7.16941517,0,0,0,0,0,0])

有不同的方法可以获得结果,但我想要一些简短且非常 pythonic 的东西

最佳答案

np.maximum 计算数组元素的元素最大值,numpy 有一些广播规则(参见 here);所以你可以试试这个:

np.maximum(x, 0)

关于python - 如何逐个元素计算数组和数字之间的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718744/

相关文章:

python - 使用 Voronoi 中心测量复杂形状

python - 随机替换 numpy 向量中的索引

python - Python 中的等效表达式

python setup.py install - 已经安装了一个包,为什么还要搜索 pypi 来安装它?

python - python 中的 id() 函数是否创建新值?

objective-c - 当我尝试在函数中返回此数组时,为什么会出现错误 "Array initializer must be an initializer list"?

java - SimpleAdapter 不在 GUI 上显示数据

python - 注释掉嵌套的三引号

python - 我可以将 ati opencl 与混合显卡一起使用吗 (intel/ati)

javascript - 为什么map在js中的new Array上不起作用