首页 > 解决方案 > 为什么 reshape 对 Transpose 的工作方式不同并返回一个新的 nd 数组?

问题描述

为什么reshape转置时返回一个新数组,不转置时返回视图?它何时返回视图以及何时返回新数组?

a = np.zeros((3,2)) 
b = a.T.reshape(3*2) 
c = a.reshape(3*2) 
print(a)

c[2] = 10000 
b[0] = 10000 
print(a)

print(b)

结果

[[0. 0.]
 [0. 0.]
 [0. 0.]]

[[    0.     0.]
 [10000.     0.]
 [    0.     0.]]

[10000.     0.     0.     0.     0.     0.]

标签: pythonnumpyviewnumpy-ndarray

解决方案


推荐阅读