【发布时间】:2020-10-08 07:22:16
【问题描述】:
我有一个问题,阅读文档没有帮助。
好的,基本上,我有一些函数将 NumPy 列表作为参数,并返回一个数字。 (例如,与np.average 相同)。我们称这个函数为f。
现在,我有一个列表列表L。所以,L[0] 是一个列表,L[1] 是一个列表...
而且,我想使用 NumPy 并行性将 f 应用于 L 并得到结果[f(L[0]), f(L[1]),...]。
我的问题来了:当我打电话给f(L)时,结果是一个数字,这个数字是f(flattened L)。
我不知道如何解决这个问题,有人可以帮助我吗?
谢谢, Kal8578
【问题讨论】:
-
f是 numpy 函数,还是你自己的自定义函数? -
这是我自己的自定义函数,它接受一个 numpy 列表作为参数,使用 np.average 计算其平均值,如果该平均值与给定常数之间的距离大于另一个给定常数,则返回 1持续的。代码为:
def dist_moy_reel(L): return(np.abs(np.average(L)-x)>=d) -
numpy 的速度来自于将已编译的 numpy 函数应用于 numoy 数组。 Python 级别的迭代,无论是在数组还是列表(列表)上都比较慢。
标签: python list numpy numpy-ndarray