Это руководство поможет вам перенести существующий код на pandas в DataStore, повысив производительность и сохранив совместимость.
Самый простой вариант миграции — изменить строку импорта:
Вот и всё! Большая часть кода pandas работает без изменений.
Протестируйте код
Запустите существующий код. Большинство операций работают без изменений:
Что работает без изменений
Операции DataStore выполняются отложенно — они не запускаются, пока не понадобятся результаты.
pandas:
DataStore:
3. Параметр inplace не поддерживается
DataStore не поддерживает inplace=True. Всегда используйте возвращаемое значение:
pandas:
DataStore:
4. Сравнение объектов DataStore
pandas не распознаёт объекты DataStore, поэтому для сравнения используйте to_pandas():
DataStore может не сохранять порядок строк в файловых источниках (например, в SQL-базах данных). Используйте явную сортировку:
Сценарий 1: Чтение, анализ и запись
Сценарий 2: DataFrame с операциями pandas
Если вам нужны возможности, специфичные для pandas, преобразуйте данные в конце:
Сценарий 3: Смешанный рабочий процесс
DataStore работает значительно быстрее на больших наборах данных:
Бенчмарк на 10M строк
Устранение неполадок при миграции
Проблема: Операция не работает
Некоторые операции pandas могут не поддерживаться. Проверьте следующее:
- Есть ли эта операция в списке совместимости?
- Попробуйте сначала преобразовать в 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 г.