编辑:
由于我的问题表述不当,我决定重写。你知道吗
numpy是否允许使用函数创建数组,而不使用Python的标准列表理解?你知道吗
有了列表理解,我可以:
array = np.array([f(i) for i in range(100)])
对于给定的函数。你知道吗
但是,如果构造的数组真的很大,那么使用Python的列表会很慢,并且会消耗大量内存。你知道吗
如果这样的方法不存在,我想我可以先创建一个我想要的大小的数组
array = np.arange(100)
然后在上面映射一个函数。你知道吗
array = f(array)
According to results from another post,这似乎是一个合理的解决方案。你知道吗
假设我想用一个简单的int值来使用add函数,如下所示:
array = np.array([i for i in range(5)])
array + 5
但是现在如果我想让值(这里是5)根据数组元素的索引而变化呢。例如操作:
array + [i for i in range(5)]
我可以使用什么对象为向量化操作中的变量值定义特殊规则?你知道吗
可以这样将两个数组添加到一起:
Simple adding two arrays using numpy in python?
这假设“按索引变量”只是另一个数组。你知道吗
对于您的特定示例,操纵陪审团的解决方案是使用^{} ,如下所示:
一般来说,您可以找到一些numpy ufunc来完成自定义函数的工作,或者您可以在python函数中进行编写,然后返回一个ndarray,类似于:
然后,只需将返回的结果添加到已定义的
array
中,如下所示:相关问题 更多 >
编程相关推荐