导航

numpy的flat、flatten、ravel

Posted on 2018-09-28 20:28  wzd321  阅读(875)  评论(0)    收藏  举报
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])
# =============================================================================