链接文章:
Python数组存储方式与向量化、按行按列展开——Dust_Evc
NumPy:确定 ndarray 是查看还是复制以及它是否共享内存
理解 numpy 中 ndarray 的内存布局和设计哲学
numpy.ravel()
import numpy as np
a = np.arange( 12 ).reshape( 3 , 4 )
print (a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print (np.ravel(a))
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
print (type(np.ravel(a)))
# <class 'numpy.ndarray'>
您可以指定一个所谓的类数组对象,例如 Python 的内置list. 在这种情况下,也numpy.ndarray返回。
print (np.ravel([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]))
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
print ( type (np.ravel([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]])
numpyravel()与flatten()的区别及内存共享

文章介绍了numpy中的ravel()和flatten()函数在处理多维数组时的不同,ravel()通常返回视图,而flatten()总是返回副本。视图与原始数组共享内存,修改会影响原数组,而副本则不会。此外,文章还提到了ndarray.flat,这是一个一维迭代器,用于遍历数组的所有元素。
最低0.47元/天 解锁文章
1933

被折叠的 条评论
为什么被折叠?



