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

如何用数组x的第一列替换数组y的第一列?

嘿,这个需求用NumPy的索引操作就能轻松搞定,我给你一步步说清楚:

完整实现代码

首先先准备好你的数组:

import numpy as np

x = np.array([[1], [2], [3], [4], [5]])
y = np.array([[6, 7], [8, 9], [10, 11], [12, 13], [14, 15]])

如果你想直接修改原数组y,直接用切片赋值就行:

# 选中y的所有行、第0列(也就是你说的第一列),替换成x的内容
y[:, 0] = x.flatten()

要是不想改动原数组,想生成一个全新的结果数组res,那就先复制y再操作:

res = y.copy()
res[:, 0] = x.flatten()

运行后打印res,就是你要的预期结果:

print(res)
# 输出:
# [[ 1  7]
#  [ 2  9]
#  [ 3 11]
#  [ 4 13]
#  [ 5 15]]

小细节解释

  • [:, 0] 是NumPy的切片语法::表示选中所有行,0表示选中第0列(因为NumPy的索引从0开始,对应你说的“第一列”)
  • 为什么要用flatten()?因为x是形状为(5,1)的二维列数组,而y的列是一维的(形状(5,)),用flatten()把x转成一维数组,能保证形状完全匹配。其实NumPy的广播机制也支持直接写res[:, 0] = x,不过显式转换会让代码逻辑更清晰~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:34:26