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

在Python中为矩阵添加包含拼接元素值的新列

给NumPy矩阵添加元素拼接后的新列

可以通过以下几种方式实现需求,将矩阵每行的元素拼接成字符串后作为新列添加:

方法一:列表推导式结合hstack

这种方法灵活性高,适用于任意列数的矩阵:

import numpy as np

# 示例矩阵
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

# 生成每行元素拼接后的列(转为字符串并保持二维结构)
concat_column = np.array([''.join(map(str, row)) for row in matrix]).reshape(-1, 1)

# 将新列与原矩阵水平拼接
result_matrix = np.hstack((matrix, concat_column))

print(result_matrix)

执行后输出:

[['1' '2' '3' '123']
['4' '5' '6' '456']
['7' '8' '9' '789']]

方法二:np.char系列函数(适合固定列数场景)

如果矩阵列数固定,可以用NumPy的字符操作函数直接拼接,效率更高:

import numpy as np

# 将原矩阵转为字符串类型
matrix_str = np.array([[1, 2, 3],
                       [4, 5, 6],
                       [7, 8, 9]], dtype=str)

# 链式拼接每行的三个元素
concat_column = np.char.add(np.char.add(matrix_str[:, 0], matrix_str[:, 1]), matrix_str[:, 2]).reshape(-1, 1)

# 拼接得到结果矩阵
result_matrix = np.hstack((matrix_str, concat_column))

print(result_matrix)

注意事项

  • 如果原矩阵是数值类型,拼接前需要将元素转为字符串,否则会触发数值相加而非字符串拼接
  • reshape(-1, 1)的作用是保证新列是二维数组,满足hstack的拼接要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:33:14