python-3.x - 如何将数组列表划分为子数组?
问题描述
我有一个包含以下元素值的列表“a”。在我的代码中,我创建了一个列表:
a=[]
b=np.zeros(3)
c=[]
for i in range(0,4):
b[0]=i+1
b[1]=i+2
b[2]=i+3
c.append(deepcopy(b))
a.append(c)
c=[]
print(a)
输出:
[[array([1., 2., 3.]), array([2., 3., 4.]), array([3., 4., 5.]), array([4., 5., 6.])]]
上面的列表是我输入数据的例子
我试图制作数组
b=np.array(a)
array([[[1., 2., 3.],
[2., 3., 4.],
[3., 4., 5.],
[4., 5., 6.]]])
b.shape
(1,4,3)
但我想制作 b 的形状 (4,1,3),它给出以下输出:所以当我访问
b[0] gives [1,2,3]
b[1] gives [2,3,4]
b[2] gives [3,4,5]
b[3] gives [4,5,6]
解决方案
为此有一个内置函数: b = np.vstack(a)
已编辑
使用 np.vstack(a) 后
b=b.reshape(4,3,1)
这给出了所需的结果
b[0]- > [1,2,3]
推荐阅读
- git - 什么可以阻止 URL 中的基本身份验证凭据起作用?
- allure - Allure 和 Jira X-Ray 集成
- python - 从具有正确打印格式的字典中迭代
- tensorflow - TensorFlow 数据集映射中的条件与“基本”Python 行为不一致
- ajax - WordPress 上传 blob 文件
- css - CSS网格中的图像不会居中
- javascript - 使用 Javascript 的电子商务网站的简单流行/趋势产品算法
- c++ - 将 void* 转换为 const void**
- vba - 使用 SUMIF 公式的 VBA 错误代码 1004
- python - Python、Django:编辑 inlineformset_factory