np.concatenate函数

2020年12月2日 / 8次阅读 / Last Modified 2020年12月2日
NumPy

np.concatenate函数用来拼接ndarray。

numpy库中已经有了3个stack函数:np.vstack,np.hstack和np.dstack。这3个函数分别工作在第1,2,3个维度,而np.concatenate函数在做stack操作的时候,对于维度作为一个参数指定,用起来更灵活。但从代码的可读性上考虑,如果能满足需要,用3个stack函数还是更好的。从功能上看,np.concatenate不能实现dstack的功能。

>>> c1
array([[1., 1.],
       [1., 1.]])
>>> c2
array([[2, 2]])
>>> np.concatenate((c1,c2), axis=0)
array([[1., 1.],
       [1., 1.],
       [2., 2.]])
>>> np.concatenate((c1,c2.T), axis=1)
array([[1., 1., 2.],
       [1., 1., 2.]])
>>> np.concatenate((c1,c2.T), axis=None)
array([1., 1., 1., 1., 2., 2.])
>>> np.concatenate((c1,c2.T), axis=2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<__array_function__ internals>", line 5, in concatenate
numpy.AxisError: axis 2 is out of bounds for array of dimension 2

上面的代码,最后当axis=2的时候,出错了,因为维度超过了操作数的维度,就是dstack的功能没有。当axis=0的时候,相当于最后做了一个ravel操作。

-- EOF --

本文链接:https://www.pynote.net/archives/2954

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top