import numpy as np from numpy import * a = arange(6) # shape属性:改变自身形状。-1自适应 print(a) a.shape = 2, -1 print(a) # reshape方法: 返回一个指定形状的数组,不改变自身 display = a.reshape(3, -1) print(a) print(display) # 使用newaxis增加维度 a = arange(3) print(shape(a)) print(a) y = a[newaxis, :] # 在外面包一维 print(shape(y)) print(y) # 外面包两层,里面包一层 y = a[newaxis, newaxis, :, newaxis] print(y.shape) print(y) # 用squeeze去除长度为1的维度 display = y.squeeze() print(display) print(display.shape) # 改变维度,让所有维度反过来 # 对于二维数组,相当于交换行和列,返回的数组相当于原来的view # 改变值,原数组也变 a = arange(6) a.shape = 2, -1 print(a) display = a.transpose() print(display) # 数组拼接 x = array([ [0, 1, 2], [10, 11, 12] ]) y = array([ [0, 1, 2], [10, 11, 12] ]) z = concatenate((x, y)) print(z) # 默认沿着第一维度拼接 z = concatenate((x, y), axis=0) print(z) z = concatenate((x, y), axis=1) print(z) # concatenate 不支持最高维度拼接 但是可以用以下方式 z = array((x, y)) print(z) # 把多为数组变成一维数组 # 1. Flatten方法 返回的是复制 b = x.flatten() print(b) # 2. flat属性 返回原来的view b = x.flat # b是迭代器,修改b的值会改变a的值 print(b[0]) b[0] = 1 print(b) # 3.ravel方法 display = x.ravel() print(display) # 修改display的值会该改变x的值 # 这种情况不会改变原值 b = x.transpose() display = b.ravel() print(b) display[0] = 2 print(b) # 保证数据至少有x维度 x = 1, 2,3 a = arange(10) print(a) b = atleast_1d(a) print(b) c = atleast_2d(a) print(c) d = atleast_3d(a) print(d)
numpy 形状
最新推荐文章于 2023-11-03 13:00:00 发布