python - 如何在每个数组中使用不同数量的元素获取 numpy 数组中的唯一元素?

标签 python arrays numpy

我想在 numpy 二维数组中获得唯一性,但数组是这样的:

a = np.array([[1,2,3], [2,3], [1]])
np.unique(a)

因此,数组具有不同数量的元素,我想要具有独特元素的展平数组,如下所示:

[1,2,3]

但是“np.unique”没有按预期工作。

最佳答案

由于内部列表的长度不同,您有一个对象类型的数组,np.unique 将比较对象(内部列表)而不是元素;您需要在一维数组中使用 np.concatenate 手动展平数组,然后使用 np.unique:

np.unique(np.concatenate(a))
# array([1, 2, 3])

关于python - 如何在每个数组中使用不同数量的元素获取 numpy 数组中的唯一元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51272270/

相关文章:

python - numpy 中的快速高级索引

Python 编程 - numpy polyfit 说 NAN

python - imshow 3D? ( python /Matplotlib)

python - 合并两个数组python的所有元素

python - 模拟调用 write()

php - 检查数组中的所有值是否相同

python - 带有django的动态模板 "Includes"

ios - Q re : cleaning up an an array without moving indexes

python - 如何将数组中的每个元素与大数相乘而不会出现 OverflowError : Python int too large to convert to C long?

python - 如何列出您在谷歌 Protocol Buffer 中定义的属性?