gpt4 book ai didi

perl - 如何从 PDL 矩阵中提取特定行?

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

假设我有:

$a = [
[1, 0, 1]
[0, 1, 0]
[0, 1, 1]
]

我想提取所有行 $row[2] == 1 .我得到的 piddle 看起来像:
$b = [
[1, 0, 1]
[0, 1, 1]
]

这可以用 PDL 实现吗?

最佳答案

您需要使用 which生成矩阵的索引列表,其在第三列中的值为 1

which($aa->index(2) == 1)

并将其传递给 dice_axis ,它将选择具有给定索引的行。轴 0 是列,轴 1 是行,因此代码如下所示

use strict;
use warnings 'all';

use PDL;

my $aa = pdl <<__END_PDL__;
[
[1, 0, 1]
[0, 1, 0]
[0, 1, 1]
]
__END_PDL__

my $result = $aa->dice_axis(1, which($aa->index(2) == 1));

print $result;

输出

[
[1 0 1]
[0 1 1]
]

关于perl - 如何从 PDL 矩阵中提取特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51864283/

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