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

如何移除字典中二维NumPy数组内的零值?

移除字典中二维NumPy数组的零值实现方法

可以通过遍历字典的每个键值对,对二维数组的每一行筛选非零元素,再重新组合成新数组的方式实现,具体代码如下:

import numpy as np

# 原始字典
original_dict = {
    "a": np.array([[0, 2, 3], [4, 0, 6]]),
    "b": np.array([[1, 0, 3], [4, 5, 0]]),
    "c": np.array([[1, 2, 0], [0, 5, 6]])
}

# 处理每个数组,移除零值
processed_dict = {}
for key, arr in original_dict.items():
    # 对数组的每一行筛选出非零元素,再转换为NumPy数组
    cleaned_rows = [row[row != 0] for row in arr]
    processed_dict[key] = np.array(cleaned_rows)

# 输出结果
print(processed_dict)

代码说明

  • 遍历原始字典的每个键和对应的二维数组
  • 对数组的每一行,利用row != 0生成布尔索引,筛选出该行的非零元素
  • 将每行筛选后的结果组成新的列表,再转换为NumPy数组,存入新字典

运行后得到的结果与你期望的输出一致:

{
    "a": np.array([[2, 3], [4, 6]]),
    "b": np.array([[1, 3], [4, 5]]),
    "c": np.array([[1, 2], [5, 6]])
}

内容的提问来源于stack exchange,提问作者r.carnahan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:40:40