我有一个numpy vector X,它是m乘1。我想在第n项之后将它拆分为2个向量,即1 - n将在第一个向量中,n+1 - m将在第二个向量中。我该怎么做?我无法让numpy.split工作。
ac1kyiln1#
简单的索引方案就足够了
>>> import numpy as np >>> m, n = 8, 3 >>> arr = np.arange(m).reshape(m,1) + 100 >>> arr array([[100], [101], [102], [103], [104], [105], [106], [107]]) >>> arr1 = arr[:n,:] >>> arr1 array([[100], [101], [102]]) >>> arr2 = arr[n:,:] >>> arr2 array([[103], [104], [105], [106], [107]])
k3bvogb12#
使用所需的n值制作切片
import numpy as np v = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]) n = 5 v1 = v[0:n] v2 = v[n:] print(v1) print(v2)
ttygqcqt3#
您可以使用array_split:
array_split
import numpy as np a = np.arange(10) N = 4 a1, a2 = np.array_split(a, [N])
输出:
# a1 array([0, 1, 2, 3]) # a2 array([4, 5, 6, 7, 8, 9])
import numpy as np a = np.arange(10)[:, None] N = 4 a1, a2 = np.array_split(a, [N], axis=0)
# a1 array([[0], [1], [2], [3]]) # a2 array([[4], [5], [6], [7], [8], [9]])
3条答案
按热度按时间ac1kyiln1#
简单的索引方案就足够了
k3bvogb12#
使用所需的n值制作切片
ttygqcqt3#
您可以使用
array_split
:输出:
高维
输出: