Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ xtensor:选择具有特定列值的行_C++_Xtensor - Fatal编程技术网

C++ xtensor:选择具有特定列值的行

C++ xtensor:选择具有特定列值的行,c++,xtensor,C++,Xtensor,我正在玩xtensor,我只想执行一个简单的操作来选择具有特定列值的行。假设我有以下数组 [ [0, 1, 1, 3, 4 ] [0, 2, 1, 5, 6 ] [0, 3, 1, 3, 2 ] [0, 4, 1, 5, 7 ] ] 现在我想选择col2和col4的值为3的行。在本例中,它是第3行 [0, 3, 1, 3, 2 ] 我想达到类似的目的 如何在xtensor中实现这一点?方法是使用所需的列进行切片,然后查看所有列的条件是否正确 对于后者,xt::all(…

我正在玩
xtensor
,我只想执行一个简单的操作来选择具有特定列值的行。假设我有以下数组

[ 
  [0, 1, 1, 3, 4 ]
  [0, 2, 1, 5, 6 ]
  [0, 3, 1, 3, 2 ]
  [0, 4, 1, 5, 7 ]
]
现在我想选择
col2
col4
的值为3的行。在本例中,它是第3行

  [0, 3, 1, 3, 2 ]
我想达到类似的目的


如何在
xtensor
中实现这一点?

方法是使用所需的列进行切片,然后查看所有列的条件是否正确

对于后者,
xt::all(…)
的重载似乎还没有实现(还!),但我们可以使用
xt::sum(…,axis)
来实现同样的效果:

#包括
#包括
#包括
int main()
{
xt::xt传感器a=
{{0, 1, 1, 3, 4},
{0, 2, 1, 5, 6},
{0, 3, 1, 3, 2},
{0, 4, 1, 5, 7}};
自动测试=xt::equal(xt::view(a,xt::all(),xt::keep(1,3)),3);
自动n=xt::sum(测试,1);
自动idx=xt::展平索引(xt::argwhere(xt::equal(n,2));
auto b=xt::view(a,xt::keep(idx),xt::all());
标准::cout