【发布时间】:2016-10-11 03:53:27
【问题描述】:
在哪种情况下,使用诸如 numpy.r_ 或 numpy.c_ 之类的对象比使用诸如 concatenate 或 vstack 之类的函数更好(更有效、更合适)?
我正在尝试理解程序员编写的代码,例如:
return np.r_[0.0, 1d_array, 0.0] == 2
其中1d_array 是一个数组,其值可以是 0、1 或 2。
为什么不使用 np.concatenate (例如)代替?喜欢:
return np.concatenate([[0.0], 1d_array, [0.0]]) == 2
它更具可读性,显然它做同样的事情。
【问题讨论】:
-
只是一个符号方便。
np.r_[1:5, 3:7]与np.concatenate(np.arange(....)。一样的速度。这一切都以concatenate电话告终。 -
完整代码在github.com/numpy/numpy/blob/master/numpy/lib/index_tricks.py。
r_是一个AxisConcatenator对象。指导性阅读。
标签: python numpy concatenation