如何计算二维数组(Python)中一维数组的数量?

如果我有一个 numpy 二维数组,请说:

a = [[1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3]]

如何计算 a 中 [1, 2, 3] 的实例数?(在这种情况下,我正在寻找的答案是 2)


不负相思意
浏览 815回答 2
2回答

12345678_0001

如果您想要所有数组的计数,您可以使用unique:import numpy as npa = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3]])uniques, counts = np.unique(a, return_counts=True, axis=0)print([(unique, count) for unique, count in zip(uniques, counts)])输出[(array([1, 2, 3]), 2), (array([2, 3, 4]), 1), (array([3, 4, 5]), 1)]

吃鸡游戏

既然你说它是一个numpy数组,而不是一个列表,你可以这样做:>>> a = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3]])>>> sum((a == [1,2,3]).all(1))2(a == [1,2,3]).all(1)给你一个布尔数组或行中所有值都匹配的地方[1,2,3]: array([ True, False, False,  True], dtype=bool),它的总和是True那里所有值的计数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python