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

如何将两个一维numpy字符串数组合并为二维数组?

解决方案

这里提供三种针对你的需求的可行实现方式:

  • 方法1:使用np.column_stack()
    这个函数专门用于将多个一维数组按列组合成二维数组,对字符串数组完全适配:
import numpy as np
titles = np.array(['title1', 'title2', 'title3'])
IDs = np.array(['1543', '1231', '1551'])

newOutput = np.column_stack((titles, IDs)).tolist()
# 最终输出:[['title1', '1543'], ['title2', '1231'], ['title3', '1551']]
  • 方法2:使用Python内置zip()函数
    直接将两个numpy数组按位置配对,再转换为列表,简单直观:
import numpy as np
titles = np.array(['title1', 'title2', 'title3'])
IDs = np.array(['1543', '1231', '1551'])

# 若接受元组嵌套结构,直接转换
newOutput = list(zip(titles, IDs))
# 若需要严格的列表嵌套列表,可额外转换一层
newOutput = [list(item) for item in zip(titles, IDs)]
  • 方法3:使用np.stack()指定axis参数
    通过axis=1参数,将两个数组按列堆叠成二维数组:
import numpy as np
titles = np.array(['title1', 'title2', 'title3'])
IDs = np.array(['1543', '1231', '1551'])

newOutput = np.stack((titles, IDs), axis=1).tolist()

补充说明:你之前尝试的np.char.join()会把对应位置的字符串拼接成单个字符串(比如生成title11543这类结果),不符合二维数组的需求;np.concatenate()默认按轴0拼接,会生成更长的一维数组,并非二维结构,且它本身也支持字符串数组,但用法不匹配你的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:02:40