【发布时间】:2026-01-27 22:45:01
【问题描述】:
我想从几个 numpy 数组中删除包含所有 nan 值的行和列。 当我只有一个形状为 (101,101) 的数组时,这是我的代码:
array=array[:,~np.all(np.isnan(array), axis=0)]
array=array[~np.all(np.isnan(array), axis=1),:]
我的第一次尝试是创建一个包含数组列表的 for 循环:
my_list=[array1,array2,array3,array4,array5]
for array in my_list:
array=array[:,~np.all(np.isnan(array), axis=0)]
array=array[~np.all(np.isnan(array), axis=1),:]
但它根本不起作用。有任何想法吗? 提前谢谢你
【问题讨论】:
-
在删除 np.nan 值后,您是否将
array保存在某处?制作minimal reproducible example 总是有帮助的。
标签: python arrays numpy for-loop nan