0

我有一个子类 numpy 数组 - 一个带有元数据(例如单位)的“光谱轴”。

我可以使用创建任何实例的副本arr.copy或使用例如arr2=arr[2:5].

有什么方法可以创建具有不同形状但保持相同元数据/数据类型的这些数组之一的新实例?

4

1 回答 1

2

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

例如,MaskedArray子类使用_update_from私有方法将一些元数据(...)从一个对象复制_fill_value_optinfo另一个对象,或者如果这些元数据尚不可用,则为这些元数据设置默认值。被_update_method称为内__array_finalize__。您可以按照来源作为示例。

于 2012-10-29T10:05:59.443 回答