1. 首页
  2. IT资讯

Numpy入门之 多维数组

“u003Cdivu003Eu003Cpu003E多维数组是用来描述多层嵌套的数据的一种模型,(如 图书馆的 楼,层,房间,书架,书架上的行和列),出于内存对齐的需要,它要求同一级的子数组要有相同的形状尺寸,还要求每个元素的数据类型相同。(6维数组可以类比这样一个特殊的图书馆,它每栋楼都有相同的层数,每一层都有相同的房间数,每个房间都有相同数量的书架,每个书架都有相同的行数,书架上每一行只能放相同数量的书。)。u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fdfic-imagehandleru002F80f05818-6c1a-4b01-87db-c235968c6d7c” img_width=”1200″ img_height=”862″ alt=”Numpy入门之 多维数组” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E数组有多少层u002F维,就可以说有多少个轴。Numpy数组最外的那一层称为第0轴(楼),往内依次是第1轴(层),第2轴(房间),第3轴(书架),第4轴(行),第5轴(列)。最常见的多维数组是 2 维数组,其第0轴称作行,第1轴称作列。u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp9.pstatp.comu002Flargeu002Fdfic-imagehandleru002F1095f23d-55e3-46bc-97fb-f2c43d392e6a” img_width=”1200″ img_height=”898″ alt=”Numpy入门之 多维数组” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E可以使用元组(tuple)作为数组的下标存取数组的元素:u003Cu002Fpu003Eu003Cpreu003E>>> a = np.arange(10).reshape(-1,1)#第1轴变为1列,第0轴自动调整u003Cbru003E>>> au003Cbru003Earray([[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]])u003Cbru003E>>> a = a + np.arange(10) #broadcast 广播,后面回介绍u003Cbru003E>>> au003Cbru003Earray([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], [ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]])u003Cbru003E>>> a[(2,3)] #使用元组作为数组下标u003Cbru003E5u003Cbru003Eu003Cu002Fpreu003Eu003Cpu003E也可以使用整数序列进行存取:u003Cu002Fpu003Eu003Cpreu003E>>> a[3: , [0, 2, 4]] # 第0轴取第3及之后所有行,第1轴取第0,2,4列u003Cbru003Earray([[ 3, 5, 7], [ 4, 6, 8], [ 5, 7, 9], [ 6, 8, 10], [ 7, 9, 11], [ 8, 10, 12], [ 9, 11, 13]]) u003Cbru003Eu003Cu002Fpreu003Eu003Cpu003E还可以使用数组进行存储:u003Cu002Fpu003Eu003Cpreu003E>>> a[np.array([0,1,3])] #相当于a[[0,1,3]]u003Cbru003Earray([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]])u003Cbru003E>>> a[[0,1,3]] u003Cbru003Earray([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]) u003Cbru003E>>> a[np.array([0,1,3]), np.array([0,1,2])] #a[(0,0)],a[(1,1)],a[(3,2)]组成的数组u003Cbru003Earray([0, 2, 5])u003Cbru003Eu003Cu002Fpreu003Eu003Cu002Fdivu003E”

原文始发于:Numpy入门之 多维数组

主题测试文章,只做测试使用。发布者:玩家L-,转转请注明出处:http://www.cxybcw.com/10614.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code