如果我有一个 numpy 二维数组,请说:a = [[1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3]]如何计算 a 中 [1, 2, 3] 的实例数?(在这种情况下,我正在寻找的答案是 2)
2 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
如果您想要所有数组的计数,您可以使用unique:
import numpy as np
a = 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)]
吃鸡游戏
TA贡献1829条经验 获得超7个赞
既然你说它是一个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那里所有值的计数
添加回答
举报
0/150
提交
取消