【发布时间】:2011-01-31 05:37:40
【问题描述】:
我正在尝试以 python 的方式找出用于数组操作的最佳 C++ 库/包。基本上我需要这样的简单:
values = numpy.array(inp.data)
idx1 = numpy.where(values > -2.14)
idx2 = numpy.where(values < 2.0)
res1 = (values[idx1] - diff1)/1000
res2 = (values[idx2] - diff2)*1000
在 python 中它只有 5 行,但我能想到的 C++ 中最简单的方法是相当多的嵌套循环。请指教..
基本上,我的问题是关于数组/向量操作,如数组乘法、索引操作等。在上面的示例中, res1 是一个数组,包含一组从值数组中过滤出来的元素以及随后应用的一些算术(所有选定元素的减法、乘法)。在这个 python 示例中,我没有复制 values 数组的元素,因为它在内存方面可能足够大,我只保留索引并希望能够对原始数组的一组选定元素运行算术运算.
【问题讨论】:
-
请为我们这些不熟悉 numpy 的人解释一下 Python 代码的作用。
-
刚刚用更详细的解释扩展了我的问题
-
为了清楚起见,您不是在寻找 C++ 标准库中的解决方案(因为没有,就像 numpy 不是 Python 标准库的一部分),您正在寻找一个能够操作像 numpy 这样的数组的优秀 3rd 方数学库? (我不知道有一个,但我怀疑它是否会与所有声明等一样简洁。)