Numpy的c_和r_以及transpose

时间:2022-04-20 23:50:26

np.c_[]

当参数是两个一维列表,将其按如下方式组成二位列表。

>>>np.c_[np.array([1,2,3]), np.array([4,5,6])]
array([[1, 4],
       [2, 5],
       [3, 6]])

当参数是两个二位列表时,其结果是一个二维列表,将两个列表连起来。

>>>np.c_[np.array([[1,2,3]]), np.array([[4,5,6]])]
array([[1, 2, 3, 4, 5, 6]])

np.r_

当参数是两个一维列表,结果将两个列表连起来,还是个一维列表

>>>np.r_[np.array([1,2,3]), np.array([4,5,6])]
array([1, 2, 3, 4, 5, 6])

当参数是两个二维列表,结果是个二维列表,将两个列表连起来。

>>>np.r_[np.array([[1,2,3]]), np.array([[4,5,6]])]
array([[1, 2, 3],
       [4, 5, 6]])

np.transpose()

这个时候,类似于np.c_,不过np.c_ 的参数是两个一维的,结果是二维的。transpose的参数是一个二维的,结果仍然是一个二维的。

>>>np.transpose(np.array([[1,2,3],[4,5,6]]))
array([[1, 4],
       [2, 5],
       [3, 6]])

用于转置

>>>x = np.ones((1, 2, 3))
>>>x.shape
(1, 2, 3)
>>> np.transpose(x, (1, 0, 2)).shape
(2, 1, 3)