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

如何统计ndarray中所有子数组第三部分的唯一值数量?

解决方案

核心思路

遍历目标数组中的每个元组元素,提取每个元组的第三个数组,将所有数组的值扁平化后存入集合(利用集合自动去重的特性),最终集合的长度就是唯一值的数量。

代码实现

import numpy as np

# 假设你的my_array已完成定义
unique_set = set()

for item in my_array:
    # 兼容示例中mini_array1外层多一层列表的情况
    target_tuple = item[0] if isinstance(item[0], tuple) else item
    # 取出第三个数组并扁平化
    third_array = target_tuple[2]
    unique_set.update(third_array.ravel())

# 输出唯一值数量
print(len(unique_set))  # 示例中会输出5

细节说明

  • ravel()用于将多维数组转为一维,相比flatten()更高效(返回数组视图而非副本)
  • 集合的update()方法可以直接批量添加数组中的所有元素,自动忽略重复值
  • 代码中的结构判断是为了适配你示例里mini_array1外层多了一层列表的情况,如果你的my_array中所有元素都是直接的元组(如mini_array2、3),可以简化为third_array = item[2]

内容的提问来源于stack exchange,提问作者Abigail9988

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:42:41