在python中,我有一个如下的nd数组:
0 0 1 1 0 1 0 1 1 0 0 0
我知道第一个位置是“a”,第二个位置是“B”,以此类推。我如何将“一”转换为“as”,“bs”,...?还没有,毫无头绪.
jm81lzqq1#
我相信你可能想使用数组索引:
a = np.array([[0,0,1], [1,0,1], [0,1,1], [0,0,0]]) out = np.array(['a', 'b'])[a]
输出:
array([['a', 'a', 'b'], ['b', 'a', 'b'], ['a', 'b', 'b'], ['a', 'a', 'a']], dtype='<U1')
from string import ascii_lowercase out = np.r_[[' '], list(ascii_lowercase) ][np.where(a.ravel(), a.cumsum(), 0).reshape(a.shape)]
array([[' ', ' ', 'a'], ['b', ' ', 'c'], [' ', 'd', 'e'], [' ', ' ', ' ']], dtype='<U1')
1条答案
按热度按时间jm81lzqq1#
我相信你可能想使用数组索引:
输出:
将连续的1替换为a/b/c ...
输出: