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

在NumPy数组中合并字符串的最优方法是什么?

问题:Numpy数组按行拼接字符串的高效向量化实现

给定Numpy数组:

import numpy as np
arr = np.array([['a ', 'b ', 'c'], ['d ', 'e ', 'f']])

需要将其转换为如下格式的二维数组:

[['a b c'], ['d e f']]

要求仅使用向量化操作实现,求最高效的方法。


最优向量化实现方案

使用Numpy的char模块结合reduce操作,这是纯向量化的实现,底层由C语言优化,效率远高于循环或非向量化方法:

result = np.char.reduce(np.char.add, arr, axis=1, keepdims=True)

代码说明

  • np.char.add:Numpy提供的向量化字符串拼接函数,可对数组中的字符串元素逐一对执行拼接操作
  • np.char.reduce:沿着指定轴(此处为axis=1,即每行),用指定操作(np.char.add)依次合并该行所有元素
  • keepdims=True:确保输出结果保持二维数组结构,与目标格式完全匹配

执行上述代码后,result的输出即为:

array([['a b c'],
       ['d e f']], dtype='<U5')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:38:14