【发布时间】:2021-06-06 08:53:49
【问题描述】:
我有一个 numpy 数组 A,它看起来像这样:
array([list(['nan', 'nan']),
list(['nan', 'nan', 'apple', 'apple', 'banana', 'nan', 'nan']),
list(['red', 'red']), ...,
list(['nan', 'festival'])], dtype=object)
我想将其转换为一个数组,其中每个列表仅包含唯一元素。例如,我希望将上面的数组转换为:
['nan'],['nan','apple','banana'],['red'],...,['nan','festival']
我试过这样做:
output = []
for i in A:
output.append(np.unique(i))
output
我不需要这样做的输出,目前看起来像这样:
[array(['nan'], dtype='<U3'),
array(['nan'], dtype='<U3'),
array(['nan'], dtype='<U3'),....]
可以做什么?
【问题讨论】:
-
这段代码对我来说是
[array(['nan'], dtype='<U3'), array(['apple', 'banana', 'nan'], dtype='<U6'), array(['red'], dtype='<U3'), array([Ellipsis], dtype=object), array(['festival', 'nan'], dtype='<U8')]。 -
是的,但是我们可以删除 [array([..],dtype='
['nan'],['nan','apple','banana'],['red'],...,['nan','festival'] -
使用列表代替数组,使用
set代替unique