Задать вопрос

Зачем использовать pandas и numpy для анализа данных?

Прохожу сейчас курс по анализу данных на Udacity. В частности, там рассматривается использование Pyhon, а также библиотек pandas и numpy для анализа. Примеры, которые там приводятся, могут быть сделаны с тем же успехом, и, подозреваю, с гораздо лучшей производительностью на том SQL. Соответственно, встал вопрос - зачем использовать этот довольно тормознутый интерпретируемый язык для вещей, которые гораздо лучше и органичнее делаются базой данных? Есть какие-то специальные use cases, или причины, для которых используется именно Python?
  • Вопрос задан
  • 3732 просмотра
Подписаться 5 Оценить Комментировать
Решения вопроса 2
@asd111
Python используется потому что его можно потом встроить в рабочее приложение. Так делает гугл, яндекс и др.
Numpy и т.п. библиотеки написаны на С поэтому они не такие медленные как кажется.
Там где не хватает скорости python библиотек написанных на С, используется С++ а не SQL.
SQL подходит для некоторых задач, но нарисовать график с помощью SQL нельзя, а с помощью тех же python библиотек возможно. В анализе данных часто строят графики, считают векторные и т.п. произведения, на SQL такое писать неудобно.
Если не используется SQL или python, то используют обычно wolfram mathematica или mathcad и т.п. математические программы где удобно считать матрицы, векторы, производные и удобно строить графики.
С помощью python пишут софт, в котором используется результат анализа данных, поэтому и саму обработку данных пишут на python(или на С++).
Для python есть большие machine learning библиотеки наподобие google tensor flow https://www.tensorflow.org/ что опять же говорит о том, что данный язык является стандартом для написания прикладных приложений, связанных с machine learning, так же как SQL является стандартом для работы с БД.
Ответ написан
Как и во всем программировании можно выделить две фазы - прототипирование и продакшен.
Соответственно python (хотя мне больше понравится R) это прототипирование - на нем удобно и быстро прикинуть модель и посмотреть результаты соответственно и все эти типы тоже для удобства (просмотр в разных отборах, сортировках...). Далее, если действительно большие задачи, то разработанную модель льют в железе (компилируемые языки).
По поводу SQL это вы погорячились - в первую очередь это доступ к данным, а нейронные сети, фурье преобразования... удобней делать в других языках. Хотя видел как анализ данных с k-mean... делали в Excel, но это на любителя.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
прикол Питона в том, что в конкретных задачах он внезапно не тормознутый ),
что в NumPy, что в ВЕБ-приложениях

поэтому фраза "довольно тормознутый интерпретируемый" работает как детектор )
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
> с гораздо лучшей производительностью на том SQL. Соответственно, встал вопрос - зачем использовать
> этот довольно тормознутый интерпретируемый язык для вещей, которые гораздо лучше и органичнее
> делаются базой данных?

В популярной библиотеке OpenCV numpy используется для обработки изображений и распознавания образов. В том числе на видео.
Хочется посмотреть как вы сделаете это быстрее и органичнее на SQL. :)
95c6dc0f6d83bd07b728d82bc4c79ab2.jpg
Ответ написан
sim3x
@sim3x
Питон там используется для того чтоб дергать апи, написанное на си
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы