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

如何为Numpy数组的每一行添加相同值(以添加1为例)

为Numpy数组每行末尾添加数值1

我有如下Numpy数组:

import numpy as np

arr = np.array([
    [0.67058825, 0.43529415, 0.33725491],
    [0.01568628, 0.30980393, 0.96862751],
    [0.24705884, 0.63529414, 0.29411766],
    [0.27843139, 0.63137257, 0.37647063],
    [0.26274511, 0.627451,   0.33333334],
    [0.25098041, 0.61960787, 0.30980393]
])

需要为每行末尾添加一个1,得到目标数组:

[[0.67058825 0.43529415 0.33725491 1]
 [0.01568628 0.30980393 0.96862751 1]
 [0.24705884 0.63529414 0.29411766 1]
 [0.27843139 0.63137257 0.37647063 1]
 [0.26274511 0.627451   0.33333334 1]
 [0.25098041 0.61960787 0.30980393 1]]

解决方案

方法1:使用np.hstack

创建一个和原数组行数相同、列数为1的全1数组,再与原数组水平拼接:

result = np.hstack((arr, np.ones((arr.shape[0], 1))))

方法2:使用np.column_stack

和hstack逻辑一致,写法更简洁:

result = np.column_stack((arr, np.ones(arr.shape[0])))

方法3:使用np.concatenate

指定轴为1(水平方向)完成拼接:

result = np.concatenate((arr, np.ones((arr.shape[0], 1))), axis=1)

方法4:扩展数组维度后赋值

先扩展原数组的列数,再为新增列统一赋值为1:

result = np.zeros((arr.shape[0], arr.shape[1]+1))
result[:, :-1] = arr
result[:, -1] = 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:15:24