Сравнение SQL vs Pandas
Насколько я понимаю, Pandas был создан для более удобной работы с базами данных в рамках работ алгоритмов, но если честно не особо понимаю разницу между SQL.
Для чего нужно было создавать какое-то новое решение? Какие есть принципиальные отличия, плюсы и минусы каждого?
Ответы (1 шт):
В отличие от классических баз данных, Python предоставляет очень широкие возможности (модули) для статистического анализа данных, построения моделей машинного обучения и искусственного интеллекта. До создания Pandas в экосистеме Python не было удобного инструмента/модуля для работы с табличными данными (Numpy нормально работает только при условии, что все столбцы имеют одинаковый тип данных). С появлением Pandas очень упростились и ускорились следующие моменты работы с данными:
процедура загрузки/выгрузки данных из внешних источников:
- DB via SQL (используя
SQL Alchemyв качестве универсальной прослойки) - JSON
- Parquet
- HTML
- CSV
- text
- Excel
- SAS
- LaTeX
- Pickle
- DB via SQL (используя
процедура очистки и предварительной обработки данных
встроенная поддержка категориальных данных
удобный интерфейс для дальнейшей передачи обработанных данных в модели машинного обучения и другие модули Python, работающие с данными
встроенная визуализация
PS очень часто Pandas используют совместно с SQL - сначала "джойним" и фильтруем данные на стороне БД, потом вычитываем их в Pandas DataFrame и далее делаем с этими данными все, что душе угодно, но уже используя все богатство питоновских библиотек.
PS фактически если бы базы данных умели делать все то, что всевозможные модули Python, то, наверное, небыло бы необходимости в Pandas и многих других модулях