将一个 numpy 数组添加到另一个数组的每个元素的开头或结尾
Add a numpy array to the beginning or end of each element of another array
我有一个数组:
x = array([array([[1, 2],
[3, 4]]),
array([[22, 4],
[ 9, 10],
[ 3, 2]])], dtype=object)
我有一个长度相同的数组列表,例如:
xa = [array([11, 22]), array([33, 44])]
我想在纯numpy中将xa的每个元素添加到x的末尾或开头,如下所示:
最后:
result = array([array([[ 1, 2],
[ 3, 4],
[11, 22]]),
array([[22, 4],
[ 9, 10],
[ 3, 2],
[33, 44]])], dtype=object)
开头:
result = array([array([[11, 22],
[ 1, 2],
[ 3, 4]]),
array([[33, 44],
[22, 4],
[ 9, 10],
[ 3, 2]])], dtype=object)
*Numpy 版本 = 1.9.3
假设您像这样导入了 numpy:
import numpy as np
from numpy import array
(1) 不是很好,但这会起作用:
result = array([np.vstack((x[0], xa[0])), np.vstack((x[1], xa[1]))])
或分别为:
result = array([np.vstack((xa[0], x[0])), np.vstack((xa[1], x[1]))])
(2) 两个数组的灵活长度更好:
result = array([np.vstack((x[i], xa[i])) for i in range(len(x))])
result = array([np.vstack((xa[i], x[i])) for i in range(len(x))])
(3) 更像 pythonic 的处理方式:
result = array([np.vstack((x_i, xa_i)) for (x_i, xa_i) in zip(x, xa)])
result = array([np.vstack((xa_i, x_i)) for (x_i, xa_i) in zip(x, xa)])
我有一个数组:
x = array([array([[1, 2],
[3, 4]]),
array([[22, 4],
[ 9, 10],
[ 3, 2]])], dtype=object)
我有一个长度相同的数组列表,例如:
xa = [array([11, 22]), array([33, 44])]
我想在纯numpy中将xa的每个元素添加到x的末尾或开头,如下所示:
最后:
result = array([array([[ 1, 2], [ 3, 4], [11, 22]]), array([[22, 4], [ 9, 10], [ 3, 2], [33, 44]])], dtype=object)
开头:
result = array([array([[11, 22], [ 1, 2], [ 3, 4]]), array([[33, 44], [22, 4], [ 9, 10], [ 3, 2]])], dtype=object)
*Numpy 版本 = 1.9.3
假设您像这样导入了 numpy:
import numpy as np
from numpy import array
(1) 不是很好,但这会起作用:
result = array([np.vstack((x[0], xa[0])), np.vstack((x[1], xa[1]))])
或分别为:
result = array([np.vstack((xa[0], x[0])), np.vstack((xa[1], x[1]))])
(2) 两个数组的灵活长度更好:
result = array([np.vstack((x[i], xa[i])) for i in range(len(x))])
result = array([np.vstack((xa[i], x[i])) for i in range(len(x))])
(3) 更像 pythonic 的处理方式:
result = array([np.vstack((x_i, xa_i)) for (x_i, xa_i) in zip(x, xa)])
result = array([np.vstack((xa_i, x_i)) for (x_i, xa_i) in zip(x, xa)])