You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将m×1的numpy向量在第n项处拆分为两个向量?

拆分m×1 numpy向量的实现方法

方法1:直接使用numpy切片(最简便)

对于m×1的二维向量,直接通过索引切片就能完成拆分,这比numpy.split更直观:

  • 取第1至n项(对应numpy的0到n-1索引):X[:n]
  • 取第n+1至m项(对应numpy的n到m-1索引):X[n:]

示例代码:

import numpy as np

# 创建一个5×1的示例向量
X = np.array([[1], [2], [3], [4], [5]])
n = 3

vec1 = X[:n]  # 结果: [[1], [2], [3]]
vec2 = X[n:]  # 结果: [[4], [5]]

方法2:正确使用numpy.split

如果你想使用numpy.split,需要注意传入的拆分位置参数是一个列表,且默认按行(axis=0)拆分,刚好匹配m×1向量的维度:

vec1, vec2 = np.split(X, [n])

这里[n]表示在第n行之后拆分,和切片的效果完全一致。如果之前用numpy.split失败,大概率是没把拆分位置放进列表里(比如直接传n而不是[n]),或者错误指定了axis参数。

注意:numpy的索引是0-based,如果你的n是1-based的序号(比如想保留前3个元素就传3),上面的代码直接可用;如果是0-based索引,需要调整n的值。

内容的提问来源于stack exchange,提问作者Cole Hendrickson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:02:17