“数组基本操作:拼接,分裂,变形”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
分裂
第二种方法:然后数组的分裂也具备了前缀为v或者h的函数,首先建立二维gird数组,利用如下:
 
第40行: 第40行:
 
array( [[ 8,  9, 10, 11],<br>
 
array( [[ 8,  9, 10, 11],<br>
 
       [12, 13, 14, 15]])<br>
 
       [12, 13, 14, 15]])<br>
 +
=== 第三种方法:利用hsplit进行分裂 ===
 +
>>> x1,x2=np.hsplit(gird,[2])<br>
 +
>>> x1<br>
 +
array([[ 0,  1],<br>
 +
      [ 4,  5],<br>
 +
      [ 8,  9],<br>
 +
      [12, 13]])<br>
 +
>>> x2<br>
 +
array([[ 2,  3],<br>
 +
      [ 6,  7],<br>
 +
      [10, 11],<br>
 +
      [14, 15]])<br>

2020年5月17日 (日) 12:30的最新版本

变形

1.最灵活的实现方法是通过reshape()函数实现。例如:如果希望将数字1~9放入一个3*3的矩阵,可以采用如下方法:

grid = np.arange(1,10).reshape((3,3))

拼接

np.concatenate(array_list, axis=0/1):沿着指定axis进行数组的合并

a = np.arange(12).reshape(3,4)
b = np.random.randint(10,20,size=(3,2))
np.concatenate([a,b], axis=1)


分裂

第一种方法,按照数组的节点进行分裂,split函数当中的中括号表示分裂节点的位置:

>>> x=np.array([1,2,3,4,5,56,6])
>>> x1,x2,x3=np.split(x,[2,4])
>>> x1
array([1, 2])
>>> x2
array([3, 4])
>>> x3
array([ 5, 56, 6])

第二种方法:然后数组的分裂也具备了前缀为v或者h的函数,首先建立二维gird数组,利用如下:

>>> grid


array( [[ 0, 1, 2, 3],

      [ 4,  5,  6,  7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])

利用vsplit进行分裂:
>>> x1,x2=np.vsplit(gird,[2])
>>> x1

array( [[0, 1, 2, 3],

      [4, 5, 6, 7]])

>>> x2

array( [[ 8, 9, 10, 11],

      [12, 13, 14, 15]])

第三种方法:利用hsplit进行分裂

>>> x1,x2=np.hsplit(gird,[2])
>>> x1
array([[ 0, 1],

      [ 4,  5],
[ 8, 9],
[12, 13]])

>>> x2
array([[ 2, 3],

      [ 6,  7],
[10, 11],
[14, 15]])