首页 > 解决方案 > view 方法在改变形状的 numpy 矩阵上做了什么?

问题描述

所以我有一个功能:

def create_vecs(colnames):
    return np.matrix(data[colnames]).view(dtype=np.float64).reshape(-1, 3)

当我在我的数据上应用这个函数时,第一部分获取感兴趣的列并返回一个大小为 1340*3 的 numpy 矩阵。但后来我不确定视图对我的数据做了什么,它不会让我的数据被重塑为三列。我很困惑这个视图方法是如何工作的以及如何改变它,以便我可以将我的数据重新调整为三列。

标签: python

解决方案


当你说:

.reshape(-1, 3)

python reshape 使第二个索引为 3 个单位,第一个索引适应它得到的任何东西

例如 1340*3 你有 4020 个单位数据

所以如果你使用

.reshape(-1, 5, 4)

矩阵的形状变为

(201, 5, 4)

我希望我很清楚。


推荐阅读