我在python中有一个numpy数组,其结构如下:
array([[NaN, NaN, NaN],
[a, b, NaN],
[c, d, e],
[NaN, NaN, f])
每列具有相同数量的非NaN值,但它们在不同的行开始和结束。我希望最终得到一个结构如下的数组:
array([a, b, e],
[c, d, f])
(也就是说,移除所有的nan,修改数组的形状以适应数据点的数量。)但是,我不知道如何有效地做到这一点。你知道吗
我试过使用:
x = x[~numpy.isnan(x)]
以及
x = x[numpy.logical_not(numpy.isnan(x))]
但这两个都将阵列夷为平地。你知道吗
变换数组的位置,过滤掉NaN,并重新调整其形状(
2
是每列的not NaN值的数目)。你知道吗假设要保留的是列数:
你不需要变换数组。你知道吗
相关问题 更多 >
编程相关推荐