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

如何从嵌套列表中移除nan值以更新网页数据

过滤嵌套列表中含NaN的子元素,保留有效数据用于网页更新

需求说明

处理两组嵌套列表:

  • list[0] 保持原始内容不变
  • list[1] 过滤掉所有包含NaN的子元素,仅保留有效数据用于网页更新

原始数据

list[0] = [[1, 8.4], [1, 2.2], [1, 1.3], [2, 4.7], [2, 4.0], [8, 9.6]]
list[1] = [[1, 8.4], [1, 2.2], [1, nan], [2, nan], [2, 4.0], [8, nan]]

解决方案(Python)

用列表推导式结合math.isnan()过滤无效项,代码如下:

import math

# 定义原始列表
original_list_0 = [[1, 8.4], [1, 2.2], [1, 1.3], [2, 4.7], [2, 4.0], [8, 9.6]]
original_list_1 = [[1, 8.4], [1, 2.2], [1, float('nan')], [2, float('nan')], [2, 4.0], [8, float('nan')]]

# 过滤list[1],移除包含NaN的子元素
filtered_list_1 = [item for item in original_list_1 if not any(math.isnan(val) for val in item)]

# 输出处理后结果
print("list[0] =", original_list_0)
print("list[1] =", filtered_list_1)

运行结果

list[0] = [[1, 8.4], [1, 2.2], [1, 1.3], [2, 4.7], [2, 4.0], [8, 9.6]]
list[1] = [[1, 8.4], [1, 2.2], [2, 4.0]]

补充说明

如果项目中已使用NumPy,可简化检测逻辑:

import numpy as np

original_list_1 = [[1, 8.4], [1, 2.2], [1, np.nan], [2, np.nan], [2, 4.0], [8, np.nan]]
filtered_list_1 = [item for item in original_list_1 if not np.isnan(item).any()]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:30:12