2024-03-29 09:37:56 发布
网友
我有一个子类numpy数组-一个“光谱轴”,包含诸如单元之类的元数据。在
我可以使用arr.copy创建任何实例的副本,或者使用arr2=arr[2:5]创建视图。在
arr.copy
arr2=arr[2:5]
有没有办法为这些数组中的一个创建一个新的实例,它的形状不同,但元数据/数据类型相同?在
一个简单的解决方案是在子类中定义一个.reshape方法。这个.reshape方法应该调用负责从对象复制元数据的__array_finalize__方法。在
.reshape
__array_finalize__
例如,MaskedArray子类使用一个_update_from私有方法,该方法将一些元数据(_fill_value,_optinfo…)从一个对象复制到另一个对象,或者在这些元数据尚不可用时为这些元数据设置默认值。在__array_finalize__内调用_update_method。您可以按照sources作为示例。在
MaskedArray
_update_from
_fill_value
_optinfo
_update_method
一个简单的解决方案是在子类中定义一个
.reshape
方法。这个.reshape
方法应该调用负责从对象复制元数据的__array_finalize__
方法。在例如,
MaskedArray
子类使用一个_update_from
私有方法,该方法将一些元数据(_fill_value
,_optinfo
…)从一个对象复制到另一个对象,或者在这些元数据尚不可用时为这些元数据设置默认值。在__array_finalize__
内调用_update_method
。您可以按照sources作为示例。在相关问题 更多 >
编程相关推荐