Numpy中的一些连接函数

2019-08-14  本文已影响0人  RossH

numpy.stack

numpy.stack( arrays, axis=0, out=None)

函数功能:

沿着新轴加入一系列数组

axis参数指定结果维度中新轴的索引。 例如,如果axis = 0,则它将是第一个维度,如果axis = -1,则它将是最后一个维度。

参数

返回值

示例

>>> arrays = [np.random.rand(3, 4) for _ in range(10)]
>>> np.stack(arrays, axis=0).shape
(10, 3, 4)
>>> np.stack(arrays, axis=1).shape
(3, 10, 4)
>>> np.stack(arrays, axis=2).shape
(3, 4, 10)
>>> a = np.array([1, 2, 3])
>>> b = np.array([4, 5, 6])
>>> np.stack((a, b))
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.stack((a, b), axis=1)
array([[1, 4],
       [2, 5],
       [3, 6]])

numpy.vstack

numpy.vstack( tup)

函数功能:

垂直堆叠数组(行方式)。

重建分离数组用 vsplit函数

对于最多3维的数组,此函数最有意义。例如,对于具有高度(第一轴),宽度(第二轴)和r / g / b通道(第三轴)的像素数据。函数 concatenatestackblock提供了更常用的堆叠连接操作。

参数

返回值

示例

>>> a = np.array([1, 2, 3])
>>> b = np.array([4, 5, 6])
>>> np.vstack((a, b))
array([[1, 2, 3],
       [4, 5, 6]])
>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[4], [5], [6]])
>>> np.vstack((a, b))
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]])

numpy.hstack

numpy.hstack( tup)

函数功能:

水平堆叠数组(列方式)。

重建分离数组用 hsplit函数

对于最多3维的数组,此函数最有意义。例如,对于具有高度(第一轴),宽度(第二轴)和r / g / b通道(第三轴)的像素数据。函数 concatenatestackblock提供了更常用的堆叠连接操作。

参数

返回值

示例

>>> a = np.array((1, 2, 3))
>>> b = np.array((4, 5, 6))
>>> np.hstack((a, b))
array([1, 2, 3, 4, 5, 6])
>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[4], [5], [6]])
>>> np.hstack((a, b))
array([[1, 4],
       [2, 5],
       [3, 6]])

numpy.dstack

numpy.stack( tup)

函数功能:

按深度堆叠数组(沿第三轴)。

重建分离数组用dsplit函数

对于最多3维的数组,此函数最有意义。例如,对于具有高度(第一轴),宽度(第二轴)和r / g / b通道(第三轴)的像素数据。函数 concatenatestackblock提供了更常用的堆叠连接操作。

参数

返回值

示例

>>> a = np.array((1, 2, 3))
>>> b = np.array((4, 5, 6))
>>> np.dstack((a, b))
array([[[1, 4],
        [2, 5],
        [3, 6]]])
>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[4], [5], [6]])
>>> np.dstack((a, b))
array([[[1, 4]],

       [[2, 5]],

       [[3, 6]]])

numpy.concatenate

numpy.concatenate( (a1, a2, ...), axis=0, out=None)

函数功能:

沿着现有轴连接一组数组

参数

返回值

注意

当要连接的一个或多个数组是MaskedArray时,此函数将返回MaskedArray对象而不是ndarray,但不保留输入掩码。 如果需要MaskedArray作为输入,请使用MaskedArray模块中的ma.concatenate函数。

示例

>>> a = np.array([[1,2], [3,4]])
>>> b = np.array([[5,6]])
>>> np.concatenate((a, b), axis = 0)
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.concatenate((a, b.T), axis = 1)
array([[1, 2, 5],
       [3, 4, 6]])
>>> np.concatenate((a,b), axis = None)
array([1, 2, 3, 4, 5, 6])
>>> a = np.ma.arange(3)
>>> a[1] = np.ma.masked
>>> b = np.arange(2, 5)
>>> a
masked_array(data=[0, --, 2],
             mask=[False,  True, False],
       fill_value=999999)
>>> b
array([2, 3, 4])
>>> np.concatenate([a, b])
masked_array(data=[0, 1, 2, 2, 3, 4],
             mask=False,
       fill_value=999999)
>>> np.ma.concatenate([a, b])
masked_array(data=[0, --, 2, 2, 3, 4],
             mask=[False,  True, False, False, False, False],
       fill_value=999999)
上一篇 下一篇

猜你喜欢

热点阅读