首页 > 解决方案 > numpy,合并两个不同形状的数组

问题描述

对于两个数组 a 和 b,

a = np.array([[1],[2],[3],[4]])

b = np.array(['a', 'b', 'c', 'd'])

我想生成以下数组

c = np.array([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']])

有没有办法有效地做到这一点?

标签: pythonnumpy

解决方案


你需要:

import numpy as np 

a = np.array([[1],[2],[3],[4]])

b = np.array(['a', 'b', 'c', 'd'])

print(np.array(list(zip(np.concatenate(a), b))))

输出:

[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']] 

替代解决方案

print(np.stack((np.concatenate(a), b), axis=1))

推荐阅读