Python:如何 reshape 具有不同维度的多维数组?

标签 python numpy reshape

假设我有一个像这样的数组

[[1,2],[3,4,5]]

我想将其 reshape 为

[[[1],[2]],[[3],[4],[5]]]

Python 有没有一种简单的方法可以做到这一点?我知道如果整个数据的第二个维度都相同,这非常简单,但在我的例子中,第二个维度的长度分别是 2 和 3。

非常感谢。

最佳答案

如果您有这样的列表:

nested = [[1,2], [3,4,5]]

你可以像这样把它分开:

nested_split = [[[single_elt] for single_elt in inside_list] for inside_list in nested]

调用 print 时会得到以下输出:

[[[1], [2]], [[3], [4], [5]]]

内部或外部列表的维数不会以任何方式影响此解决方案,因为使用 for 循环和列表理解将动态适应任何大小的列表。

关于Python:如何 reshape 具有不同维度的多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53289026/

相关文章:

python - 当模型位于不同应用程序中时,ManytoMany 字段 django 模板

python - 将 numpy 数组的元组保存到磁盘?

python - 我的 python 多处理代码有什么问题?

python3 时间戳字符串中的纪元

python - 可广播的 Numpy 点

matlab - 如何在 MATLAB 中使用数组掩码缩小矩阵?

python - 单独查找正则表达式匹配

python - 如何排除 Pandas 数据框的某些列?

sas - 在具有许多变量的 SAS 中将大型数据集从长到宽 reshape

python - 求更高效的python numpy ravel+reshape