计算多个并行数组的最优雅/高效/ Pythonic方法?

cas5nq

对于一些计量经济学工作。

给定(可能)大量的并行数据数组,我经常需要派生多个并行的计算变量数组。

在下面的示例中,我有两个输入数组和两个输出数组,但想象一下,在现实世界中,可能有5-10个输入和输出数组。

w,x是输入
y,z是输出

方法A:

w = [1, -2, 5]
x = [0, 3, 2]
N = len(w)
I = range(N)
y = map(lambda i: w[i] + x[i], I)
z = map(lambda i: w[i] - x[i], I)

方法B:

w = [1, -2, 5]
x = [0, 3, 2]
N = len(w)
I = range(N)
y, z = [], []
for i in I:
  y.append(w[i] + x[i])
  z.append(w[i] - x[i])

方法C:

w = [1, -2, 5]
x = [0, 3, 2]
y, z = [], []
for w_i, x_i in zip(w, x):
  y.append(w_i + x_i)
  z.append(w_i - x_i)

方法D:

w = [1, -2, 5]
x = [0, 3, 2]
N = len(w)
I = range(N)
(y, z) = transpose(map(lambda i: [w[i] + x[i], w[i] - x[i]], I))

D似乎是最简洁,可扩展和最有效的。但这也是最难阅读的,尤其是对于许多具有复杂公式的变量。

A是我的最爱,有一点重复,但是为每个变量构建一个循环效率较低吗?这不会随着大数据扩展吗?

B vs. C:我知道C更具Python风格,但B似乎更方便简洁,并且使用更多变量可以更好地扩展。在这两种情况下,我都讨厌必须在前面声明变量的多余行。

总体而言,我对上述任何方法都不完全满意。我的推理中缺少什么吗?还是有更好的方法?

乔兰·比斯利(Joran Beasley)

使用numpy ...在C ++中执行操作,因此它要快得多(尤其是如果我们假设您的数组大于3个项目)

w = numpy.array([1, -2, 5])
x = numpy.array([0, 3, 2])

y = w+x
z = w-x

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多个父方法调用的Pythonic方法

来自分类Dev

多个父方法调用的Pythonic方法

来自分类Dev

沿列对2D数组排序的Pythonic高效方法

来自分类Dev

计算argmax的pythonic方法是什么?

来自分类Dev

计算argmax的pythonic方法是什么?

来自分类Dev

创建2D数组的Pythonic方法?

来自分类Dev

优雅且Pythonic的更改对象列表的方法

来自分类Dev

从Pandas Dataframe列创建列表的高效/ Pythonic方法

来自分类Dev

通过其他数组过滤数组的最优雅方法

来自分类Dev

封装多步计算的最优雅方法是什么?

来自分类Dev

从NSArray获取子数组的最优雅方法是什么?

来自分类Dev

获得给定元素所有组合的数组的最优雅方法

来自分类Dev

Ruby:检测数组中转折点的最优雅方法

来自分类Dev

映射具有多个参数的特定函数的最佳pythonic方法

来自分类Dev

将Numpy数组轴归零的Pythonic方法

来自分类Dev

处理实例化类的参数组合的最pythonic方法?

来自分类Dev

在Flutter和Dart中重构小部件的最优雅/高效的方法

来自分类Dev

在二维numpy数组中计算False值的最有效(和pythonic)方法?

来自分类Dev

当声明具有多个级别的多个javascript对象时,最优雅的方法是什么?

来自分类Dev

在JQuery中获得祖父母的第一个孩子的最优雅,可靠和高效的方法是什么?

来自分类Dev

将变量保持在范围内同时捕获异常的优雅/ Pythonic方法是什么?

来自分类Dev

优雅和简短(pythonic)的方法来找到最低的未使用数量

来自分类Dev

用R计算季节性平均值的最优雅方法是什么?

来自分类Dev

在同一应用程序中启动多个scotty服务器的最优雅方法是?

来自分类Dev

从i开始遍历数组的Pythonic方法,同时保持原始数组的索引

来自分类Dev

用Pythonic方法用相同大小的数组替换nan子数组

来自分类Dev

从i开始遍历数组的Pythonic方法,同时保持原始数组的索引

来自分类Dev

将 Numpy 数组的第 3 维分配给 1D 数组的 Pythonic 方法

来自分类Dev

在JavaScript中部分复制对象数组的最优雅方法是什么

Related 相关文章

  1. 1

    多个父方法调用的Pythonic方法

  2. 2

    多个父方法调用的Pythonic方法

  3. 3

    沿列对2D数组排序的Pythonic高效方法

  4. 4

    计算argmax的pythonic方法是什么?

  5. 5

    计算argmax的pythonic方法是什么?

  6. 6

    创建2D数组的Pythonic方法?

  7. 7

    优雅且Pythonic的更改对象列表的方法

  8. 8

    从Pandas Dataframe列创建列表的高效/ Pythonic方法

  9. 9

    通过其他数组过滤数组的最优雅方法

  10. 10

    封装多步计算的最优雅方法是什么?

  11. 11

    从NSArray获取子数组的最优雅方法是什么?

  12. 12

    获得给定元素所有组合的数组的最优雅方法

  13. 13

    Ruby:检测数组中转折点的最优雅方法

  14. 14

    映射具有多个参数的特定函数的最佳pythonic方法

  15. 15

    将Numpy数组轴归零的Pythonic方法

  16. 16

    处理实例化类的参数组合的最pythonic方法?

  17. 17

    在Flutter和Dart中重构小部件的最优雅/高效的方法

  18. 18

    在二维numpy数组中计算False值的最有效(和pythonic)方法?

  19. 19

    当声明具有多个级别的多个javascript对象时,最优雅的方法是什么?

  20. 20

    在JQuery中获得祖父母的第一个孩子的最优雅,可靠和高效的方法是什么?

  21. 21

    将变量保持在范围内同时捕获异常的优雅/ Pythonic方法是什么?

  22. 22

    优雅和简短(pythonic)的方法来找到最低的未使用数量

  23. 23

    用R计算季节性平均值的最优雅方法是什么?

  24. 24

    在同一应用程序中启动多个scotty服务器的最优雅方法是?

  25. 25

    从i开始遍历数组的Pythonic方法,同时保持原始数组的索引

  26. 26

    用Pythonic方法用相同大小的数组替换nan子数组

  27. 27

    从i开始遍历数组的Pythonic方法,同时保持原始数组的索引

  28. 28

    将 Numpy 数组的第 3 维分配给 1D 数组的 Pythonic 方法

  29. 29

    在JavaScript中部分复制对象数组的最优雅方法是什么

热门标签

归档