如何从列表列表中删除 nan? [复制]

2024-03-11

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

[[1,2,3,nan,nan,nan],[4,5,nan],[9,8,7,6,5,4,3,nan,nan,nan,nan,nan]]

我尝试从这里的答案中做到这一点(如何从列表列表中删除[NaN]? https://stackoverflow.com/q/21773068/10757177):

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)]

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


尝试迭代列表并使用 numpy 构建一个新列表isnan https://docs.scipy.org/doc/numpy/reference/generated/numpy.isnan.html method.

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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从列表列表中删除 nan? [复制] 的相关文章

随机推荐