TGViewer
Dataлень: жизнь аналитика Dataлень: жизнь аналитика @datalen · 203 subscribers
Post #22 541
Немного о параметрах и пользе документации 😁

Признаюсь честно, я не люблю читать документацию к библиотекам в питоне. Что поделаешь, сухое описание «вот этот параметр отвечает за это» и простенькие примеры не откладываются у меня в голове.

Но незнание некоторых особенностей методов иногда приводит меня к факапам (даже с простейшими функциями) и попыткам изобрести велосипед.🤡

📌 Лот первый - df.info()

Базовый метод, показывает структуру датафрейма, я юзаю его практически после каждого изменения в df для проверки всё ли идёт по плану. Помимо количества строк и столбцов, типа данных и проверки на нулевые / ненулевые значения может показывать используемую память.

Недавно у меня была задача по заливке датафрейма в озеро данных. Чуйка (и здравый смысл вообще-то 😎, ведь датафрейм формировала я) подсказывала мне, что объём данных может уронить мне этот процесс. Но df.info показал, что моё детище весит всего плюс-минус 250 МБ. И отправив на выполнение запрос на запись, спустя n секунд я словила ошибку OutOfMemoryError.🤯

Оказалось, что даже в таком простом методе есть параметры, и один из них очень полезен при работе с ёмкими столбцами - memory_usage:

📝 memory_usage=False - отключает вывод данных о памяти (удобно, когда датафрейм большой и нужно быстро увидеть всю остальную инфо);

📝 memory_usage=True (по-умолчанию) - показывает объём памяти, который занимают данные в столбцах и ссылки на них (для строковых колонок учитывается только место под ссылку на каждую строку, а не размер самого текста);

📝 memory_usage='deep' - считает реальный объём памяти, включая весь текст в строковых колонках, данные категорий и даты.


У меня был как раз датафрейм с текстовыми столбцами. После перевыполнения ячейки с memory_usage='deep' оказалось, что датафрейм весит 5,3 ГБ.🥴

Теперь понимаю, сколько раз ошибалась, видя, что датафрейм весит вроде не так уж много, но процессы почему-то тормозят. Как говорится:

- Как у вас получаются такие хорошие показатели?
- Мы просто неправильно считаем
🫣


📌Лот второй - df.value_counts()

Пример ещё одного полезного, но долго остававшегося для меня в тени параметра - normalize.

value_counts - быстрый «счётчик частот» в pandas. Показывает, сколько раз встречается каждое уникальное значение в серии или столбце таблицы. По умолчанию считает абсолютные значения, а вот при использовании normalize=True позволяет перейти к относительным (доли от общего числа).

Раньше, когда нужно было быстро прикинуть проценты, я напрягала извилины😡, чтобы хотя бы примерно посчитать, сколько же там составляют группы относительно друг друга (если было лень считать нормально). Теперь юзаю normalize, в том числе уже пару раз пригодилось мне на собесах.

df['column'].value_counts(normalize=True).round(2) * 100


(еще у value_counts есть параметр bins, который делит данные на примерно равные по ширине интервалы и показывает количество значений внутри них, но мне пока ни разу не пригождалось сие знание)

Остаётся только вопрос - как узнавать о таких простых и нужных вещах? 🙄 Лично мне в голову никогда бы не пришло загуглить, как посчитать проценты в пандасе, ведь я и так могла бы это сделать в пару действий.
  • ✍ 10
  • 👍 6
  • 🤯 1
More from @datalen
  1. Dec 8, 2025Технические вопросы от hr В октябре удалось пообщаться с несколькими hr и сходить на пару…
  2. Nov 25, 2025По-моему в качестве месяца, который горит, вместо сентября отлично подойдет октябрь или но…
  3. Nov 17, 2025Тренер: жалуется мне на других клиентов, что они опаздывают и не предупреждают Я: никогда…
  4. Nov 12, 2025Самая нелюбимая часть в работе для меня - оценка задач Я каждый раз оказываюсь в одной и т…
  5. Nov 8, 2025Встретилось недавно во время прогулки, даже не знаю, баг это или фича 🤓 потому что вниман…
  6. Nov 5, 2025Почему полезно cидеть на hh, даже если не ищешь работу Потому что можно узнать уровень зар…
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 →