gpt4 book ai didi

python - 从三维数组中删除 NaN 行

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:49 25 4
gpt4 key购买 nike

如何使用索引从下面的数组中删除 NaN 行(因为我需要从不同的数组中删除相同的行。

array([[[nan,  0.,  0.,  0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]],

[[ 0., 0., 0., 0.],
[ 0., nan, 0., 0.],
[ 0., 0., 0., 0.]]])

我使用命令获取要删除的行的索引

a[np.isnan(a).any(axis=2)]

但是使用我通常在二维数组上使用的内容并没有产生预期的结果,丢失了数组结构。

a[~np.isnan(a).any(axis=2)]
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])

如何使用从第一个命令获得的索引删除我想要的行?

最佳答案

你需要 reshape :

a[~np.isnan(a).any(axis=2)].reshape(a.shape[0], -1, a.shape[2])

但请注意,每个 2D 子数组的 NaN 行数应该相同才能获得新的 3D 数组。

关于python - 从三维数组中删除 NaN 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54854458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com