TGViewer
Datalytics Datalytics @datalytx · 8.81K subscribers
Post #449 4.42K
Начал собирать список вредных советов при написании pandas-кода. Вот что делать НЕ стоит:

- Выводить датафрейм через функцию print() вместо display()
- Использовать built-in функции Python вместо методов pandas (например, sum(df['column']) вместо df['column'].sum())
- Использовать параметр inplace при вызове методов
- Удалять колонки через del
- Изменять названия колонок через атрибут columns или метод set_axis()
- Вызывать колонки через attribute-like запись (df.genre) вместо dict-like записи (df['genre'])
- Делать однотипные операции с колонками не через цикл, а каждую на своей строке
- Использовать пробелы, кириллицу и спецсимволы (напр. '$') в названиях колонок
- Проходится циклом по строкам датафрейма
- Использовать метод merge() без параметров how и on
- Это вкусовщина: использовать вызов методов из библиотеки, а не из инстанса DataFrame (например, pd.pivot_table() вместо df.pivot_table())
- Тоже вкусовщина: делать поочередные манипуляции с одной и той же колонкой на отдельных строках (например, вместо df['column'].fillna(0).astype(int) сделать на отдельных строках .fillna(0) и .astype(int)
- Часто использовать абсолютную индексацию (например, iloc или выбирать колонки с помощью slice)
- Использовать вызов методов внутри query() (например, df.query('value.notna()'))
- Использовать notnull() и isnull() вместо notna() и isna() (для соблюдения читаемости, учитывая, что существуют методы drop_na() и fillna())
- Всегда оставлять MultiIndex (даже если он в колонках и в строках одновременно)
- Использовать pivot_table() там где можно обойтись groupby()

Многие пункты — это скорее вкусовщина, они почти ни на что не влияют с точки зрения производительности или функциональности, но зато код смотрится опрятнее, а также позволяет при ревью проектов добиться от студентов более однотипного стиля, что снижает когнитивную нагрузку у ревьюеров.

А какие вы посоветуете вредные советы? 😉
More from @datalytx
  1. Oct 14, 2026В субботу, 17 октября, Москва станет точкой притяжения для всех специалистов в области Rec…
  2. Oct 14, 2026RAG, AI-агенты и модели в продакшене. В @llm_jobs публикуются вакансии для тех, кто создаё…
  3. Oct 6, 2026Что, если заменить аналитиков нейросетью? Да ничего хорошего: результаты анализа получаютс…
  4. Oct 3, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  5. Oct 2, 2026Мой первый эксперимент с созданием анимированных интерактивных роликов с помощью нейросете…
  6. Sep 30, 2026Стать аналитиком данных всего за 10 недель — это реально! Если вы давно смотрите в сторону…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →