python - 在 Python 中将数组的大小调整为另一个形状

标签 python arrays numpy resize reshape

我有以下数组:

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]])

我想调整它的大小,以便将其分成 2 个批处理,包含三个元素(根据需要添加零):

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)

我相信 .reshape 不会提供解决方案,因为它无法用 0 填充以符合数组所需的尺寸。

最佳答案

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

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

否则你可以使用对象方法得到相同的结果,像这样:

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

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

关于python - 在 Python 中将数组的大小调整为另一个形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58526255/

相关文章:

python-2.7 - read_csv 在 Python 中使用 pandas 将 3 列日期转换为 1 列日期格式,例如 YYYY-MM-DD

python - 如何将多个数据帧列合并为一个给定的每列都有 nan 值

python - Redis channel 中 PUB/SUB 时消息的大小限制是多少

python - 如何检查某个数字是否在 Pytorch 张量中?

python - 如何使用pythonflask正确插入一条记录到mysql(错误: 1045 using password: NO))

arrays - 将每行与空行重复 n 次 - 谷歌表格

ios - Swift : How $0 works in Array. forEach?

python - 实例化大型稀疏矩阵以进行赋值操作

python - Scikit-learn (0.22.1) KNNImputer 返回错误数量的值

c - 如何可靠地将字符数组转置为 uint64_t 数组并再次转回