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

如何在NumPy数组的每个子数组开头添加1?

解决方法:在NumPy数组每个子数组前添加1(用np.ones和np.hstack)

你的代码存在两个关键问题,修正后即可实现需求:

  1. 原始数组定义错误:Python列表内的元素必须用逗号分隔,且需要先转换为NumPy数组才能使用np.hstack操作
  2. np.ones的形状不匹配:你生成的是一维数组,而实际需要的是和X行数一致的二维列向量(每行对应一个1)

正确代码示例:

import numpy as np

# 修正数组定义并转为NumPy数组
X = np.array([[3, 4, 5, 6], [6, 5, 3, 3], [9, 8, 5, 2]])
# 生成3行1列的全1数组,形状与X的行数匹配
ones = np.ones((len(X), 1))
# 水平拼接ones和X,实现每个子数组开头加1
X = np.hstack((ones, X))

print(X)

输出结果:

[[1. 3. 4. 5. 6.]
 [1. 6. 5. 3. 3.]
 [1. 9. 8. 5. 2.]]

如果需要整数类型的结果,可指定ones的数据类型:

ones = np.ones((len(X), 1), dtype=int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:55:19