我们说我们有两个阵列
a = [1, 2]
b = [ [A, B, C], [D, E, F] ]
我希望通过梳理&和{}来制作c = [ [1,A, B, C], [2, D, E, F] ]
B'/ P>
如何实现?
a和b中的第一级孩子的数量相同。
答案 0 :(得分:3)
您需要reshape
a
所以它变为2x1数组,然后您可以使用hstack
水平堆叠数组:
In[13]:
np.hstack([a.reshape((2,1)), b])
Out[13]:
array([['1', 'A', 'B', 'C'],
['2', 'D', 'E', 'F']],
dtype='<U11')
正如numpy master @Divakar所建议的那样,如果您对数组进行切片并将None
作为其中一个轴传递,则无需reshape
即可引入或重新整形数组:
In[14]:
np.hstack([a[:,None], b])
Out[14]:
array([['1', 'A', 'B', 'C'],
['2', 'D', 'E', 'F']],
dtype='<U11')
在docs中进行了解释,查找newaxis
示例
答案 1 :(得分:0)
您可以使用zip
和列表理解:
a = [1, 2]
b = [['a', 'b', 'c'], ['d', 'e', 'f']]
c = [[e] + l for e, l in zip(a, b)]
print(c) #=> [[1, 'a', 'b', 'c'], [2, 'd', 'e', 'f']]