You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Numpy统计二维数组子数组出现次数并提取最大值

使用Numpy统计二维子数组出现次数并提取最大值

步骤1:导入Numpy并定义目标数组

先将给定的二维数组转换为Numpy数组:

import numpy as np

arr = np.array([
    [0, 2],
    [0, 1],
    [1, 2],
    [1, 2],
    [0, 1],
    [1, 2],
    [0, 1],
    [0, 1],
    [1, 3],
    [2, 3]
])

步骤2:统计每个子数组的出现次数

利用Numpy的unique方法,结合view将二维行转换为可哈希的结构化类型,实现子数组的统计:

# 将每行转换为可识别的唯一键
unique_rows, counts = np.unique(arr.view(np.dtype((np.void, arr.dtype.itemsize * arr.shape[1]))), return_counts=True)
# 还原回原数组格式
unique_subarrays = unique_rows.view(arr.dtype).reshape(-1, arr.shape[1])

查看统计结果的代码:

for subarr, count in zip(unique_subarrays, counts):
    print(f"子数组{subarr}出现次数:{count}")

输出内容:

子数组[0 1]出现次数:4
子数组[0 2]出现次数:1
子数组[1 2]出现次数:3
子数组[1 3]出现次数:1
子数组[2 3]出现次数:1

步骤3:提取出现次数的最大值

直接对统计得到的次数数组取最大值:

max_count = counts.max()
print(f"出现次数的最大值:{max_count}")

输出结果为4。

内容的提问来源于stack exchange,提问作者César Moltoni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 04:20:56