对于两个数组 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']])
有没有办法有效地做到这一点?
最佳答案
您需要:
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))
关于python - numpy,合并两个不同形状的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55236524/