从 Matlab 慢慢过渡到 Python...
我有这个表格清单
list1 = [[1, 2, nan], [3, 7, 8], [1, 1, 1], [10, -1, nan]]
和另一个具有相同数量项目的列表
list2 = [1, 2, 3, 4]
我正在尝试提取 list1 中不包含任何 nan 值的元素,以及 list2 中的相应元素,即结果应该是:
list1_clean = [[3, 7, 8], [1, 1, 1]]
list2_clean = [2, 3]
在 Matlab 中,这很容易通过逻辑索引来完成。
在这里,我感觉某种形式的列表理解可以解决问题,但我被困在:
list1_clean = [x for x in list1 if not any(isnan(x))]
这显然对list2没有用。
或者,以下逻辑索引尝试不起作用(“索引必须是整数,而不是列表”)
idx = [any(isnan(x)) for x in list1]
list1_clean = list1[idx]
list2_clean = list2[idx]
我敢肯定这是微不足道的,但我无法弄清楚,感谢帮助!