python - 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']])
有没有办法有效地做到这一点?
解决方案
你需要:
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))
推荐阅读
- google-apps-script - form.setRequireLogin() 给出错误脚本错误消息:异常:不支持此操作
- sql - 如何使用多个近似匹配执行复杂 SQL 连接并仅返回第一个匹配
- java - Maven 程序集 jar 执行找不到或加载主类原因:java.lang.ClassNotFoundException
- python - 如何阻止我的机器人向 discord.py 发送垃圾邮件
- flutter - Flutter 是 Route 可见的吗?
- flutter - 单击列表项后如何导航到不同的屏幕?
- javascript - 防止 jQuery Datepicker 突出显示整周
- php - PHP中每页保留用户指定结果的分页
- html - 似乎无法获得适合全尺寸的背景图像(HTML,CSS)
- python-3.x - Pandas 条件语句和替换