python - 合并 NumPyarrays
问题描述
我希望将列表中的 NumPy 数组元素合并到单个 NumPy 数组中。我怎样才能做到这一点?
这就是包含数组的列表的结构和我尝试的代码:
import numpy as np
baked_quad_vertices = []
A = (1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5)
A = np.array(A, dtype=np.float32)
B = (1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5)
B = np.array(B, dtype=np.float32)
baked_quad_vertices.append(A)
baked_quad_vertices.append(B)
Z = baked_quad_vertices
Z = np.vstack(Z)
print(Z)
我得到:
[[1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5.]
[1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5.]]
我想:
[1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5.
1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5.]
最理想的情况是:
[1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5.
1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5., dtype=np.float32]
解决方案
要获得您想要的结果,请尝试使用np.hstack
而不是np.vstack
.
编者注:下面的原始答案是指问题的修订版 1:
这看起来是错误的,因为每个 numpy 数组仍然是分开的,... 是什么意思?
事实上,当你打印一个数组时,它看起来就像那样。的输出np.vstack
返回一个数组,所以你应该有一个数组。尝试打印:
print(type(baked_quad_vertices[chunk_count]))
推荐阅读
- python-3.x - Subprocess.run() 找不到路径
- javascript - 如何使用 Jquery 设置 X 图像的大小
- webforms - 使用表单身份验证的 ASP.Net Web 表单和使用 JWT 令牌的 MVC 之间的单点登录
- c# - C# 控制台清除输入行
- ios - 尝试构建存档 Xcode 时出错:clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- mysql - MySQL 通过乘以其他行中的值返回 1 或 0
- sql - 访问 SQL 问题
- spring - 如何在 Spring Boot 中添加 URL 前缀
- ssl - 来自 KeyVault 的 Kestrel 安全 HTTPS X509 证书
- c# - 如何打开任务栏中的应用程序?