numpy的flat、flatten、ravel

时间:2023-03-10 02:04:08
numpy的flat、flatten、ravel
import numpy as np
dt = np.arange(10).reshape(5,2)
# =============================================================================
# Out[2]:
# array([[0, 1],
# [2, 3],
# [4, 5],
# [6, 7],
# [8, 9]])
# ============================================================================= #flat返回数组上的一维迭代器,行为类似 Python 内建的迭代器
dt.flat[4] # =============================================================================
# Out[4]: 4
# ============================================================================= #返回折叠为一维的数组副本
dt = np.arange(8).reshape(2,2,2)
# =============================================================================
#
# Out[6]:
# array([[[0, 1],
# [2, 3]],
#
# [[4, 5],
# [6, 7]]])
# =============================================================================
dt.flatten()
# =============================================================================
# Out[7]: array([0, 1, 2, 3, 4, 5, 6, 7])
# ============================================================================= #ravel这个函数返回展开的一维数组,并且按需生成副本
dt.ravel()
# =============================================================================
# Out[8]: array([0, 1, 2, 3, 4, 5, 6, 7])
# =============================================================================