在形状为numpy.unique
的列表(例如(1, X)
)上调用a = [[1,2]]
时,len(numpy.unique(a))
返回X
而不是我所期望的, 1.一般来说,numpy.unique
似乎将a
视为一维数组。
与此相反,len(numpy.array(a))
确实返回1。
这背后的动机是什么?
编辑:python版本3.7.3
答案 0 :(得分:3)
您得到的答案是因为数组是扁平的。 [1,2]
的长度确实为2。我相信这样做的原因仅仅是为了给用户最大的灵活性。
您可以通过以下操作来实现您所寻找的目标:
len(np.unique(a, axis=0))