gpt4 book ai didi

perl - 访问 PDL 对象中数据的最佳实践

转载 作者:行者123 更新时间:2023-12-05 01:04:03 24 4
gpt4 key购买 nike

我有一个二维 pdl,例如:

my $data  = random(4,4);

我想计算 pdl 上下文之外的 0,0 和 1,0 元素的总和。(不像,例如 $data->slice('0,0') + $data->slice('1,0),它仍然返回一个 pdl 对象)这样做的正确方法是什么?

最佳答案

如果您希望将单个元素提取为普通 Perl 标量,请使用 at 而不是 slice:

pdl> $pdl = random(4,4)
pdl> p $pdl->at(0,0) + $pdl->at(1,0)
0.288796754210711
pdl> p ref \($pdl->at(0,0) + $pdl->at(1,0))
SCALAR

要将整个 ndarray 对象转换为嵌套的 Perl 数组,请使用 unpdl

pdl> $aoa = random(4,4)->unpdl;
pdl> p ref $aoa
ARRAY
pdl> p ref $aoa->[0]
ARRAY

请注意,Perl 数组中元素的索引是 ndarray 对象中的横向索引。例如,

pdl> p $pdl->at(1,0)
0.111869023064209

pdl> p $aoa->[1][0] # wrong
0.954887281829823

pdl> p $aoa->[0][1] # correct
0.111869023064209

关于perl - 访问 PDL 对象中数据的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72884509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com