Python之数组拼接,组合,连接

您所在的位置:网站首页 python数组组合 Python之数组拼接,组合,连接

Python之数组拼接,组合,连接

2022-07-09 17:29| 来源: 网络整理| 查看: 265

============改变数组的维度================== 已知reshape函数可以有一维数组形成多维数组 ravel函数可以展平数组 b.ravel() flatten()函数也可以实现同样的功能 区别:ravel只提供视图view,而flatten分配内存存储 重塑:用元祖设置维度 >>> b.shape=(4,2,3) >>> b array([[ 0, 1, 2],         [ 3, 4, 5],        [ 6, 7, 8],         [ 9, 10, 11],        [12, 13, 14],         [15, 16, 17],        [18, 19, 20],         [21, 22, 23]]) 转置: >>> b array([0, 1],        [2, 3]) >>> b.transpose() array([0, 2],        [1, 3]) =============数组的组合============== >>> a array([0, 1, 2],        [3, 4, 5],        [6, 7, 8]) >>> b = a*2 >>> b array([ 0, 2, 4],        [ 6, 8, 10],        [12, 14, 16]) 1.水平组合 >>> np.hstack((a,b)) array([ 0, 1, 2, 0, 2, 4],        [ 3, 4, 5, 6, 8, 10],        [ 6, 7, 8, 12, 14, 16]) >>> np.concatenate((a,b),axis=1) array([ 0, 1, 2, 0, 2, 4],        [ 3, 4, 5, 6, 8, 10],        [ 6, 7, 8, 12, 14, 16]) 2.垂直组合 >>> np.vstack((a,b)) array([ 0, 1, 2],        [ 3, 4, 5],        [ 6, 7, 8],        [ 0, 2, 4],        [ 6, 8, 10],        [12, 14, 16]) >>> np.concatenate((a,b),axis=0) array([ 0, 1, 2],        [ 3, 4, 5],        [ 6, 7, 8],        [ 0, 2, 4],        [ 6, 8, 10],        [12, 14, 16]) 3.深度组合:沿着纵轴方向组合 >>> np.dstack((a,b)) array([[ 0, 0],         [ 1, 2],         [ 2, 4],        [ 3, 6],         [ 4, 8],         [ 5, 10],        [ 6, 12],         [ 7, 14],         [ 8, 16]]) 4.列组合column_stack() 一维数组:按列方向组合 二维数组:同hstack一样 5.行组合row_stack() 以为数组:按行方向组合 二维数组:和vstack一样 6.==用来比较两个数组 >>> a==b array([ True, False, False],        [False, False, False],        [False, False, False], dtype=bool) #True那个因为都是0啊 ==================数组的分割=============== >>> a array([0, 1, 2],        [3, 4, 5],        [6, 7, 8]) >>> b = a*2 >>> b array([ 0, 2, 4],        [ 6, 8, 10],        [12, 14, 16]) 1.水平分割(难道不是垂直分割???) >>> np.hsplit(a,3) [array([0],        [3],        [6]),  array([1],        [4],        [7]), array([2],        [5],        [8])] split(a,3,axis=1)同理达到目的 2.垂直分割 >>> np.vsplit(a,3) [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])] split(a,3,axis=0)同理达到目的 3.深度分割 某三维数组::: >>> d = np.arange(27).reshape(3,3,3) >>> d array([[ 0, 1, 2],         [ 3, 4, 5],         [ 6, 7, 8],        [ 9, 10, 11],         [12, 13, 14],         [15, 16, 17],        [18, 19, 20],         [21, 22, 23],         [24, 25, 26]]) 深度分割后(即按照深度的方向分割) 注意:dsplite只对3维以上数组起作用 raise ValueError('dsplit only works on arrays of 3 or more dimensions') ValueError: dsplit only works on arrays of 3 or more dimensions >>> np.dsplit(d,3) [array([[ 0],         [ 3],         [ 6],        [ 9],         [12],         [15],        [18],         [21],         [24]]), array([[ 1],         [ 4],         [ 7],        [10],         [13],         [16],        [19],         [22],         [25]]), array([[ 2],         [ 5],         [ 8],        [11],         [14],         [17],        [20],         [23],         [26]])] ===================数组的属性================= >>> a.shape #数组维度 (3, 3) >>> a.dtype #元素类型 dtype('int32') >>> a.size #数组元素个数 9 >>> a.itemsize #元素占用字节数 4 >>> a.nbytes #整个数组占用存储空间=itemsize*size 36 >>> a.T #转置=transpose array([0, 3, 6],        [1, 4, 7],        [2, 5, 8]) flat属性 ……



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3