【发布时间】:2017-08-14 12:29:49
【问题描述】:
我有一个包含多个 NaN 值的矩阵,我想用最后一个非 NaN 值替换它们。矩阵非常大,所以理想情况下我会以矢量化方式进行。
这是一个最小的工作示例:
M = [
NaN NaN NaN 3
7 NaN NaN 1
NaN NaN NaN 9
NaN 6 NaN NaN
NaN NaN NaN NaN
8 NaN NaN 8
NaN 5 NaN NaN
NaN NaN NaN NaN
9 NaN NaN NaN]
输出应该是:
Out = [
NaN NaN NaN 3
7 NaN NaN 1
7 NaN NaN 9
7 6 NaN 9
7 6 NaN 9
8 6 NaN 8
8 5 NaN 8
8 5 NaN 8
9 5 NaN 8]
我想知道是否有人遇到过类似的问题并且知道解决问题的有效方法。我读过this 类似的帖子,但所有解决方案似乎都涉及for 循环。
【问题讨论】:
-
为什么你只替换一些
NaNs 而不是其他的?这是每列吗?每行?根据别的什么? -
对不起。这是一个错字。我已经纠正了。它是每列。
-
我怀疑这是可能的,我不认为 NAN 可能是由矢量化函数处理的 stackoverflow.com/questions/15560567/…
-
NaN 可以替换为任意数字,例如 -99
-
我仍然不理解您所需输出的第 1 列和第 2 列。