二维(1,*)形状列表上的numpy.unique的长度

时间:2019-07-05 15:14:27

标签: python arrays numpy python-3.7

在形状为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

1 个答案:

答案 0 :(得分:3)

您得到的答案是因为数组是扁平的。 [1,2]的长度确实为2。我相信这样做的原因仅仅是为了给用户最大的灵活性。

您可以通过以下操作来实现您所寻找的目标:

len(np.unique(a, axis=0))