#python #c #pandas #numpy #boost
#питон #c #панды #numpy #boost
Вопрос:
Я использую Boost Numpy для создания некоторых массивов на C и перехода в пространство имен Python. Как правило, я создаю их с помощью этого метода:
namespace np = boost::python::numpy;
np::empty(shape, np::dtype::get_builtin<int>);
Это работает для базовых типов, таких как int, но я не понимаю, как я должен это делать для более сложных типов и обычного типа объекта python.
Например, в python, если я создам фрейм данных pandas следующим образом:
>>> pandas.DataFrame([datetime.datetime.now()])[0]
0 2020-11-17 20:30:06.132735
Name: 0, dtype: datetime64[ns]
что дает мне фрейм данных со столбцом dtype: datetime64[ns].
Кроме того, было бы полезно иметь возможность создавать np::empty с типом «object»:
>>> pandas.DataFrame([None])[0]
0 None
Name: 0, dtype: object
Как мне создать эти типы массивов в Boost Numpy с C ? Документация по Boost очень скудна, и я, похоже, не могу найти никакой информации об этом в Интернете.