python的numpy库中的数组说明
numpy中的ravel()、flatten()、squeeze()、shape()都有将多维数组转换为一维数组的功能,区别:
ravel():如果没有必要,不会产生源数据的副本
flatten():返回源数据的副本
squeeze():只能对维数为1的维度降维
reshape(): 能改变数组的数据
另外,reshape(-1)也可以“拉平”多维数组
可以改变数组的数据有ravel()、reshape()可以改变原数组的数据,ravel()、flatten()、reshape()都不会改变原数组的结构。
用了reshape()之后,改变了原数组的数据
使用flatten()之后,没有改变原数组的数据
使用ravel()之后,改变了原数组的数据
参见官方文档:
ravel()
flatten()
squeeze()
reshape()