Прекрасное: "Towards Scalable Dataframe Systems".
В популярных датасайнс-библиотеках типа pandas разработчики без малейшего целостного понимания бессистемно нафигачили сотни методов, которые во многом похожи, и нет чёткого понимания, какие операции действительно фундаментальны.
А вот если посмотреть на темку через теорию категорий, то окажется что более 85% pandas API можно покрыть алгеброй из 15 операторов! DataFrame определён формально как кортеж (данные, метки строк, метки столбцов, домены столбцов).
Реструктуризация (изменение только схемы) +
слияние (группировка и агрегация) +
соединение (join между таблицами) образуют сопряжённую тройку и возникают естественно из отображений между схемами.
200 операторов pandas - 15 алгебраических операций - 3 функтора миграции + 2 теоретико-множественные операции - проверяемая компилятором схема!
В итоге может получиться прекрасный продукт - оболочка pandas как типобезопасный API, где схема данных контролируется на этапе компиляции, а оптимизации (например, удаление мёртвых колонок) следуют из алгебраических законов.
Post #2410
657

- 👍 45
- ❤ 7