python 展平函数ravel和flatten及两者的区别

ravel()展平数据后,修改数据会影响前面的数据。

import numpy as np
array = np.arange(15).reshape(3, 5)
print(array)
'''
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
'''
ax1D = array.ravel()
ax1D[0] = 100
print(ax1D)  # [100   1   2   3   4   5   6   7   8   9  10  11  12  13  14]
print(array) # 修改 ax1D 原来的 array 会改变
'''
[[100   1   2   3   4]
 [  5   6   7   8   9]
 [ 10  11  12  13  14]]
'''

flatten()展平数据后,不会影响前面的数据。

import numpy as np
array = np.arange(15).reshape(3, 5)
print(array)
'''
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
'''
flatten1D = array.flatten()
flatten1D[0] = 100
print(flatten1D)  # [100   1   2   3   4   5   6   7   8   9  10  11  12  13  14]
print(array)
'''
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
'''

你可能感兴趣的:(python,numpy)