numpy.ravel()、numpy.flatten()函数介绍和示例
1. numpy.ravel()
释义:
- 将多维数组降为一维
- 返回视图(view),即对降维后的数据做修改会影响原始矩阵
示例1:二维降为一维
import numpy as np
x = np.array([[1, 2, 3],
[4, 5, 6]])
x.ravel()
array([1, 2, 3, 4, 5, 6])
注意:降维后的数据被更改时,原矩阵也被更改
y = x.ravel()
y[0] = 10
print('x:\n', x)
print('y:\n', y)
x:
[[10 2 3]
[ 4 5 6]]
y:
[10 2 3 4 5 6]
示例2:三维降为一维
x = np.array([
[[1, 2, 3],
[4, 5, 6]],
[[7, 8, 9],
[10, 11, 12]]
])
x.ravel()
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
2. numpy.flatten()
释义:
- 将多维数组降为一维
- 返回拷贝(copy),即对降维后的数据做修改会不影响原始矩阵
示例1:二维降为一维
import numpy as np
x = np.array([[1, 2, 3],
[4, 5, 6]])
x.flatten()
array([1, 2, 3, 4, 5, 6])
注意:降维后的数据更改时,原矩阵不受影响
y = x.flatten()
y[0] = 10
print('x:\n', x)
print('y:\n', y)
x:
[[1 2 3]
[4 5 6]]
y:
[10 2 3 4 5 6]
示例2:三维降为一维
x = np.array([
[[1, 2, 3],
[4, 5, 6]],
[[7, 8, 9],
[10, 11, 12]]
])
x.flatten()
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])