如何从列表列表中删除 nan?

Pra*_*rty 5 python

我试图从列表列表中删除所有 nan,我的数据如下:

[[1,2,3,nan,nan,nan],[4,5,nan],[9,8,7,6,5,4,3,nan,nan,nan,nan,nan]]
Run Code Online (Sandbox Code Playgroud)

我尝试从这里的答案中执行此操作(如何从列表列表中删除 [NaN]?):

import math
l = [[1,2,3,np.nan,np.nan,np.nan],[4,5,np.nan],[9,8,7,6,5,4,3,np.nan,np.nan,np.nan,np.nan,np.nan]]
[xs for xs in l if not any(math.isnan(x) for x in xs)]
Run Code Online (Sandbox Code Playgroud)

但它删除了整个列表,而不仅仅是 nan 的列表

B.G*_*ees 5

尝试迭代列表并使用 numpy 的isnan方法构建新列表。

import numpy as np
nan = np.nan
l = [[1,2,3,nan,nan,nan],[4,5,nan],[9,8,7,6,5,4,3, nan, nan, nan, nan, nan]]
[[x for x in y if not np.isnan(x)] for y in l]
Run Code Online (Sandbox Code Playgroud)