Перевели любопытную статью: Клаус Вилке объясняет, почему Python, несмотря на статус языка №1 в data science, на самом деле делает многие базовые вещи... неудобными. И дело не в студентах, не в навыках и даже не в привычках — проблема глубже.
Автор двадцать лет руководит биоинформатической лабораторией. И вот типичный сценарий: студент показывает анализ, Клаус просит «чуть поменять график» — violin вместо boxplot, heatmap вместо line plot, плотность вместо гистограммы.
В R это 2–3 строки. В случае с Python студенты обычно отвечают:
Окей, дайте немного времени, я вернусь
И речь о вполне сильных ребятах.
Даже опытные дата-сайентисты, которые знают pandas, NumPy и matplotlib вдоль и поперёк, постоянно тонут в синтаксических костылях: лишние кавычки, лишние скобки, лишние манипуляции. То, что в R выражается естественным языком, Python требует «ручной сборки»: группировки вручную, столбцы в кавычках, агрегаты в виде кортежей, а иногда и возвращение в мир списков, циклов и словарей — просто чтобы сделать что-то концептуально простое.
Да, pandas вроде бы закрывает большинство задач. Но стоит анализу выйти за рамки «группировка + среднее» — и инструменты начинают работать против пользователя. Автор честно признаёт: в Python слишком легко сорваться с уровня анализа на уровень рутинной возни.
Вилке формулирует простой критерий: хороший язык для data science — это тот, где вы описываете намерение, а не механику. «Хочу взять пингвинов, убрать пропуски, сгруппировать по виду и острову, посчитать статистики». На R это почти копирует естественную фразу. В Python — похожие конструкции есть, но гораздо быстрее оказываешься среди индексов, типов и мелкой логики.
📚 Читайте и комментарийте на Хабр.
@python_for_devs