python - 如何用基于索引的列表值替换二维数组的值
问题描述
我想知道是否可以根据 Python 中的索引将二维数组的元素替换为列表的元素:
比方说
a = np.array([[6, 5, 9, 6, 1],[2, 9, 0, 6, 5],[8, 8, 0, 1, 8],[9, 5, 3, 6, 3]])
d = ['a','b','c','d','e','f','g','h','i','j]
我想用列表 d 的元素替换数组 a 的元素。数组 a 的值定义了列表 d 的索引号。
我想要一个像c这样的二维数组,
c = np.array([['g','f','j','g','b'],['c','j','a','g','e'],['i','i','a','b','i'],['j','f','d','g','d']])
解决方案
尝试这个:
>>> a=np.array([[6, 5, 9, 6, 1],[2, 9, 0, 6, 5],[8, 8, 0, 1, 8],[9, 5, 3, 6, 3]])
>>> d=np.array(['a','b','c','d','e','f','g','h','i','j'])
>>> d[a]
array([['g', 'f', 'j', 'g', 'b'],
['c', 'j', 'a', 'g', 'f'],
['i', 'i', 'a', 'b', 'i'],
['j', 'f', 'd', 'g', 'd']], dtype='<U1')
>>> list(map(list,(d[a])))
[['g', 'f', 'j', 'g', 'b'],
['c', 'j', 'a', 'g', 'f'],
['i', 'i', 'a', 'b', 'i'],
['j', 'f', 'd', 'g', 'd']]
推荐阅读
- android - 如何插入 ProgressBar 以在 Recycler View 中加载更多项目?
- python - Selenium - 查找所有元素并将 WebDriverWait 与 for 循环一起使用
- jquery - 如何在 DataTables Javascript 中添加 CSS 类
- java - 将日期字符串转换为 UTC
- android - 如何从 Android webview 获取 var
- office-js - 在 Office Web 插件中添加 JQuery 引用
- key - 具有 key() 功能的列表中的上一个条目
- operating-system - 操作系统内核是基于事件的吗?内核是多线程还是多进程?
- android-studio - Flutter 错误无法从 APK 中提取清单:退出代码 -1073741515
- serverless-framework - 如何将 API 网关上下文变量传递给代理 lambda