Python中将数组调整为另一个形状

2024-09-28 21:50:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数组:

a = np.random.rand(5,2)
a

array([[0.98736372, 0.07639041],
       [0.45342928, 0.4932295 ],
       [0.75789786, 0.48546238],
       [0.85854235, 0.74868237],
       [0.13534155, 0.79317482]])

我想调整它的大小,以便它被分成两个批次,三个元素(根据需要添加零):

array([[[0.98736372, 0.07639041],
       [0.45342928, 0.4932295 ],
       [0.75789786, 0.48546238]],
       [[0.85854235, 0.74868237],
       [0.13534155, 0.79317482],
       [0, 0]]])

我试过这个,但没有结果:

a = a.copy()
a.resize((2,3,2), refcheck = False)

我相信。重塑不会提供解决方案,因为它无法用0填充以符合数组的所需维度


Tags: false元素nprandom数组解决方案arraycopy
1条回答
网友
1楼 · 发布于 2024-09-28 21:50:11

使用numpy.resize时,必须这样使用:

import numpy as np
a = np.random.rand(5,2)
b = np.resize(a, (2,3,2))

否则,可以使用object方法获得相同的结果,如下所示:

import numpy as np
a = np.random.rand(5,2)
a.np.resize(2,3,2)
b = a.copy()

注意第一个返回ndarray,最后一个返回None,因为它改变了对象本身。有关更多信息,请查看numpy.resize doc

相关问题 更多 >