我能够将我的 recarray 数据复制到 ndarray,进行一些计算并返回带有更新值的 ndarray。
然后,我发现了中的append_fields()
功能numpy.lib.recfunctions
,并认为简单地将 2 个字段附加到我的原始记录数组以保存我的计算值会更聪明。
当我这样做时,我发现操作要慢得多。我不必计时,基于 ndarray 的过程需要几秒钟,而使用 recarray 需要一分钟+,而且我的测试数组很小,<10,000 行。
这是典型的吗?ndarray 访问比 recarray 快得多?我预计由于按字段名称访问会导致性能下降,但不会这么多。