- Выводить датафрейм через функцию
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()
Многие пункты — это скорее вкусовщина, они почти ни на что не влияют с точки зрения производительности или функциональности, но зато код смотрится опрятнее, а также позволяет при ревью проектов добиться от студентов более однотипного стиля, что снижает когнитивную нагрузку у ревьюеров.А какие вы посоветуете вредные советы? 😉