使用Boost的(version>;=1.63)numpy扩展来boostpython有没有一种方法可以返回任意长度字符串的numpy数组,其中dtype = object
?类似于this,但在C++中。你知道吗
如果字符串填充不是问题,则以下代码段可以工作:
#include <boost/python.hpp>
#include <boost/python/numpy.hpp>
namespace bp = boost::python;
namespace np = boost::python::numpy;
np::ndarray get_numpy_array(){
vector<string> strings = {"a","aa","aaa","aaaa"};
bp::list py_list;
for(auto& s: strings){
py_list.append(s);
}
np::ndarray py_array = np::array(py_list);
return py_array;
}
在这个玩具示例中,返回值dtype
是<U4
。在实践中,我将使用从一个字符到几千个字符的字符串,并且希望避免填充较小字符串的开销。你知道吗
或者,我可以返回一个boost::python::list
并在Python中处理到Numpy数组的转换,但我更希望避免执行双重复制。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐