我试图从列表列表中删除所有 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 的列表
尝试迭代列表并使用 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)
| 归档时间: |
|
| 查看次数: |
5428 次 |
| 最近记录: |