python - 结合numpy数组“元素方式”
问题描述
目前我有两个数组:a1的形状是(5,4,6,3),第二个a2是(5,4,6),最后我想得到一个合并的数组(5,4,6,4 )
目前我“for-loop”每个(6,3)数组和 np.stack 它对应的(6,1)到(6,4)。
for i in range(a1.shape[0]):
for j in range(a1.shape[1]):
a = np.hstack((a1[i,j], a2[i,j].reshape(6,1)))
但是,如果它比 5*4 大得多,它的效率就不是很高。
你有更好的方法吗?
解决方案
这是你想要的吗?
import numpy as np
a1 = np.ones((5, 4, 6, 3))
a2 = np.ones((5, 4, 6))
result = np.concatenate((a1, a2[..., np.newaxis]), axis=-1)
print(result.shape)
(5, 4, 6, 4)
推荐阅读
- python - 与标签名称关联的 Selenium Chrome Python 复选框
- clips - 如何指定 CLIPS 文件的搜索目录?
- c++ - 使用 CMake 进行 C++ SDL2 独立和跨平台开发
- python - 我可以进一步优化这个 Cython 代码片段(包含 NumPy 和一个字符串)吗?
- r - 如何将整个基于 renv 的项目复制到新 PC(没有 Internet 访问权限)?
- python - pip安装后Python找不到包
- javascript - 脚本不按画布上的坐标绘制线条
- google-apps-script - 使用 Google 脚本函数作为公式 - 错误异常:您无权调用 setActiveSheet
- spring - Spring Data 反应式存储库页面计数和总计数
- javascript - 在 React 中更改搜索文本的颜色