三国纷争
axis=0对于列表列表,您可以通过使用选项(指定行)以及numpy.unique()函数和选项来获取行数return_counts=True:>>> a = np.array([(1,2,3),(1,2,3),(3,4,5),(5,6,7)])>>> np.unique(a, return_counts=True, axis=0)(array([[1, 2, 3], [3, 4, 5], [5, 6, 7]]), array([2, 1, 1]))第一个返回值是唯一行,第二个返回值是这些行的计数。如果没有该return_counts=True选项,您将只能获得第一个返回值。如果没有该axis=0选项,整个数组将被展平以计算唯一元素的数量。axis=0指定应展平行(如果它们已经超过 1D),然后将其视为唯一值。如果您可以使用元组而不是行列表,那么您可以numpy.unique()与 axis 选项一起使用。这篇文章解释了如何使用 numpy 数组的元组列表。放在一起,它应该看起来像这样:>>> l = [(1,2,3),(1,2,3),(3,4,5),(5,6,7)]>>> a = np.empty(len(l), dtype=object)>>> aarray([None, None, None, None], dtype=object)>>> a[:] = l>>> aarray([(1, 2, 3), (1, 2, 3), (3, 4, 5), (5, 6, 7)], dtype=object)>>> np.unique(a, return_counts=True)(array([(1, 2, 3), (3, 4, 5), (5, 6, 7)], dtype=object), array([2, 1, 1]))