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

如何从NumPy数组中移除NaN值?附示例与预期输出

移除列表中的NaN值实现方案

可以实现,直接通过列表推导式结合NaN判断逻辑就能得到你想要的结果,具体代码如下:

处理代码

import math

# 原始含NaN的列表
my_list=[[  0.,  40. , float('nan')],
 [60. ,  0. , float('nan')],
 [ float('nan') , float('nan') , float('nan')]]

# 过滤NaN并移除全空的子列表
processed_list = [
    [num for num in sublist if not math.isnan(num)] 
    for sublist in my_list 
    if any(not math.isnan(num) for num in sublist)
]

print(processed_list)

输出结果

[[0.0, 40.0], [60.0, 0.0]]

逻辑说明

  • 内层推导式[num for num in sublist if not math.isnan(num)]:遍历每个子列表,剔除其中的NaN元素;
  • 外层条件if any(not math.isnan(num) for num in sublist):过滤掉所有元素都是NaN的子列表,避免处理后留下空列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:15:34