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

如何将整数矩阵转换为对应字母的字符串矩阵?

解决方法:将numpy矩阵数字转换为对应大写字母

原代码问题分析

你写的三层循环存在逻辑错误:

  • rows、cols、vals未定义,无法正确遍历矩阵元素
  • 每个矩阵位置会被vals中的所有值反复赋值,最终仅保留最后一个k对应的字母,完全达不到逐个转换的效果

可行方案(针对numpy数组)

假设你的solution是numpy数组,以下是几种高效的转换方法:

方法1:numpy向量化操作(推荐)

利用numpy的vectorize函数将转换逻辑批量应用到整个数组:

import numpy as np

def num_to_char(n):
    return chr(n + 64)  # 1→65→'A',12→76→'L'

vectorized_convert = np.vectorize(num_to_char)
solution_new = vectorized_convert(solution)

方法2:列表推导式(手动循环)

如果偏好显式循环,可以先将numpy数组转为普通列表,再逐个转换:

# 转换为列表列表并逐个处理
solution_list = solution.tolist()
solution_new = [[chr(num + 64) for num in row] for row in solution_list]

# 若需转回numpy数组:
solution_new = np.array(solution_new)

方法3:numpy char模块直接转换

利用numpy的字符处理模块直接完成转换,代码最简洁:

solution_new = np.char.chr(solution + 64)

验证结果

以你提到的solution[0][2] = 12为例,上述方法都会得到solution_new[0][2] = 'L',符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:50:24