如何从二维array中移除[None, None]并转换为列表
移除二维NumPy数组中的[None, None]元素并转换为列表
步骤1:过滤掉所有[None, None]行
从你提供的代码来看,这是一个NumPy数组,我们可以用布尔索引快速筛选掉目标行:
import numpy as np # 模拟你的目标数组 arr = np.array([ ['_603686_SS', '_688598_SS'], ['_603686_SS', '_688516_SS'], ['_603686_SS', '_600563_SS'], [None, None], [None, None] ], dtype=object) # 创建掩码:标记出所有不是[None, None]的行 mask = ~(arr == [None, None]).all(axis=1) # 应用掩码过滤数组 filtered_arr = arr[mask]
(arr == [None, None]).all(axis=1)会生成一个布尔数组,每行对应True(如果该行是[None, None]),前面加~取反后,就得到了需要保留的行的标记。
步骤2:将过滤后的数组转换为列表
直接调用NumPy数组的tolist()方法即可完成转换:
result_list = filtered_arr.tolist() print(result_list)
输出结果:
[['_603686_SS', '_688598_SS'], ['_603686_SS', '_688516_SS'], ['_603686_SS', '_600563_SS']]
简化写法
如果想一步完成操作,可以把两步合并:
result_list = arr[~(arr == [None, None]).all(axis=1)].tolist()
内容的提问来源于stack exchange,提问作者WEI HAN
相关产品推荐
相关产品推荐

