在numpy中有两种标记缺失值的方法:我可以使用a NaN或a masked array.我知道使用NaNs(可能)更快,而屏蔽阵列提供更多功能(哪个?).
我想我的问题是我应该/何时使用一个而不是另一个?一个用例np.NaN是regular array vs. a masked array什么?
我相信答案必须在那里,但我找不到......
小智 8
差异在于两个结构所持有的数据.
使用常规数组np.nan,无效值后面没有数据.
使用蒙版数组,您可以初始化一个完整的数组,然后在其上应用一个蒙版,以便某些值显示无效.该numpy.ma模块提供方法,以便您不必处理np.nan行为(例如,np.nan == np.nan总是False等等)
如果您有一个数组,您永远不需要将值放在无效单元格中,请使用前者.您总是可以使用np.nan和一些索引技术复制复杂的操作,但这就是掩码数组的用途.