python numpy库中flatten()函数用法 |
您所在的位置:网站首页 › 小哥哥的脚扭伤怎么安慰他 › python numpy库中flatten()函数用法 |
Return a copy of the array collapsed into one dimension. Parameters:order : {‘C’, ‘F’, ‘A’, ‘K’}, optional ‘C’ means to flatten in row-major (C-style) order. ‘F’ means to flatten in column-major (Fortran- style) order. ‘A’ means to flatten in column-major order if a is Fortran contiguous in memory, row-major order otherwise. ‘K’ means to flatten a in the order the elements occur in memory. The default is ‘C’. Returns:y : ndarray A copy of the input array, flattened to one dimension. 即该函数返回一个折叠成 一维 的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。 1.用于array: >>> import numpy as np >>> alist = [[1,2,3],[5,6,7],[8,9,10]] >>> ar1 = np.array(alist) #二维数组 m * n 形式 >>> ar1 array([[ 1, 2, 3], [ 5, 6, 7], [ 8, 9, 10]]) >>> ar1.flatten()array([ 1, 2, 3, 5, 6, 7, 8, 9, 10]) #一维数组 1 * n 形式
2.用于矩阵: >>> ma = np.mat(alist) #二维矩阵 m * n 形式 >>> ma matrix([[ 1, 2, 3], [ 5, 6, 7], [ 8, 9, 10]]) >>> ma1 = ma.flatten() #二维数组,1 * n 形式 >>> ma1matrix([[ 1, 2, 3, 5, 6, 7, 8, 9, 10]]) >>> ma2 = ma.flatten().A #二维数组 >>> ma2 array([[ 1, 2, 3, 5, 6, 7, 8, 9, 10]]) >>> ma3 = ma.flatten().A[0] #一维数组 >>> ma3 array([ 1, 2, 3, 5, 6, 7, 8, 9, 10]) 注: matrix.A 中的 A :array 表示将矩阵 matrix转换为二维数组 matrix.A[0] :取二维数组中第一行元素 3.用于列表: >>> alist.flatten() #直接使用,出错 Traceback (most recent call last): File "", line 1, in alist.flatten()AttributeError: 'list' object has no attribute 'flatten' 使用列表推导式可以达到相同的效果: >>> [y for x in alist for y in x] [1, 2, 3, 5, 6, 7, 8, 9, 10] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |