Skip to main content
Это руководство поможет вам перенести существующий код на pandas в DataStore, повысив производительность и сохранив совместимость.

Миграция в одну строку

Самый простой вариант миграции — изменить строку импорта:
Вот и всё! Большая часть кода pandas работает без изменений.

Пошаговая миграция

1

Установите chDB

2

Измените импорт

3

Протестируйте код

Запустите существующий код. Большинство операций работают без изменений:
4

Учтите различия

Некоторые операции работают иначе. См. раздел Ключевые различия ниже.

Что работает без изменений

Загрузка данных

Фильтрация

Выделение

GroupBy и агрегация

Сортировка

Операции над строками

Операции с DateTime

Операции ввода-вывода


Основные различия

1. Отложенное вычисление

Операции DataStore выполняются отложенно — они не запускаются, пока не понадобятся результаты. pandas:
DataStore:

2. Возвращаемые типы

3. Параметр inplace не поддерживается

DataStore не поддерживает inplace=True. Всегда используйте возвращаемое значение: pandas:
DataStore:

4. Сравнение объектов DataStore

pandas не распознаёт объекты DataStore, поэтому для сравнения используйте to_pandas():

5. Порядок строк

DataStore может не сохранять порядок строк в файловых источниках (например, в SQL-базах данных). Используйте явную сортировку:

Схемы миграции

Сценарий 1: Чтение, анализ и запись

Сценарий 2: DataFrame с операциями pandas

Если вам нужны возможности, специфичные для pandas, преобразуйте данные в конце:

Сценарий 3: Смешанный рабочий процесс


Сравнение производительности

DataStore работает значительно быстрее на больших наборах данных: Бенчмарк на 10M строк

Устранение неполадок при миграции

Проблема: Операция не работает

Некоторые операции pandas могут не поддерживаться. Проверьте следующее:
  1. Есть ли эта операция в списке совместимости?
  2. Попробуйте сначала преобразовать в pandas: ds.to_df().operation()

Проблема: Разные результаты

Включите отладочное логирование, чтобы понять, в чем дело:

Проблема: Низкая производительность

Проверьте, как выполняется запрос:

Проблема: Несоответствие типов

DataStore может по-разному определять типы:

Поэтапная стратегия миграции

Неделя 1: Проверка совместимости

Неделя 2: Переведите простые скрипты

Начните со скриптов, которые:
  • Читают большие файлы
  • Выполняют фильтрацию и агрегацию
  • Не используют пользовательские функции apply

Неделя 3: Обработка сложных случаев

Для скриптов с пользовательскими функциями:

Неделя 4: Полная миграция

Переведите все скрипты на импорт из DataStore.

Часто задаваемые вопросы

Можно ли использовать и pandas, и DataStore?

Да! Их можно свободно преобразовывать друг в друга:

Мои тесты по-прежнему будут проходить?

Большинство тестов должны проходить. Для сравнительных тестов преобразуйте в pandas:

Можно ли использовать DataStore в Jupyter?

Да! DataStore работает в Jupyter Notebook:

Как сообщить о проблемах?

Если вы обнаружили проблемы с совместимостью, сообщите о них здесь: https://github.com/chdb-io/chdb/issues
Последнее изменение 3 июля 2026 г.