很难解释我想用文字做什么,所以这里有一个例子。
假设我们有以下输入:
In [76]: x
Out[76]:
0 a
1 a
2 c
3 a
4 b
In [77]: z
Out[77]: ['a', 'b', 'c', 'd', 'e']
我想得到:
In [78]: ii
Out[78]:
array([[1, 0, 0, 0, 0],
[1, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0]])
ii
是一个布尔掩码数组,可用于z
取回原始掩码x
。
我当前的解决方案是编写一个转换z
为 a的函数,list
并使用该index
方法获取元素的索引,z
然后生成一行零,除了有一个索引的索引。此函数被应用于每一行x
以获得所需的结果。