Numpy子类化:创建具有不同形状、相同metad的数组的副本

2024-03-29 09:37:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个子类numpy数组-一个“光谱轴”,包含诸如单元之类的元数据。在

我可以使用arr.copy创建任何实例的副本,或者使用arr2=arr[2:5]创建视图。在

有没有办法为这些数组中的一个创建一个新的实例,它的形状不同,但元数据/数据类型相同?在


Tags: 数据实例numpy视图副本光谱数组子类
1条回答
网友
1楼 · 发布于 2024-03-29 09:37:56

一个简单的解决方案是在子类中定义一个.reshape方法。这个.reshape方法应该调用负责从对象复制元数据的__array_finalize__方法。在

例如,MaskedArray子类使用一个_update_from私有方法,该方法将一些元数据(_fill_value_optinfo…)从一个对象复制到另一个对象,或者在这些元数据尚不可用时为这些元数据设置默认值。在__array_finalize__内调用_update_method。您可以按照sources作为示例。在

相关问题 更多 >