假设我有一个如下所示的数组:

[1,5, 2, 6, 6.7, 8, 10]

我想把大于n的数字降下来. 例如,如果n为6,则数组将如下所示:

[1,5, 2, 6, 6, 6, 6]

我try 了一种使用numpy.vetorize的解决方案:

lower_down = lambda x : min(6,x)
lower_down = numpy.vectorize(lower_down)

它起作用了,但太慢了.我怎么才能让这件事更快呢?有没有一个麻木的功能来达到同样的结果?

推荐答案

Numpy已经有了minimum的功能,不需要自己创建.

>>> np.minimum(6, [1,5, 2, 6, 6.7, 8, 10])
array([1., 5., 2., 6., 6., 6., 6.])

Python相关问答推荐

在Python Attrs包中,如何在field_Transformer函数中添加字段?

为什么这个带有List输入的简单numba函数这么慢

如何获得每个组的时间戳差异?

如何使用Python以编程方式判断和检索Angular网站的动态内容?

Python列表不会在条件while循环中正确随机化'

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

判断solve_ivp中的事件

在单次扫描中创建列表

如何在海上配对图中使某些标记周围的黑色边框

当条件满足时停止ODE集成?

根据客户端是否正在传输响应来更改基于Flask的API的行为

504未连接IB API TWS错误—即使API连接显示已接受''

当我定义一个继承的类时,我可以避免使用`metaclass=`吗?

时长超过24小时如何从Excel导入时长数据

PYTHON中的selenium不会打开 chromium URL

如何在基于时间的数据帧中添加计算值

如何通过特定导入在类中执行Python代码

如何使用Polars从AWS S3读取镶木地板文件

如何使用count()获取特定日期之间的项目

Fake pathlib.使用pyfakefs的类变量中的路径'