Найти тему
Властелин машин

Два нетипичных способа выборки данных из датафрейма, имеющих ключевое значение

Оглавление

Вы там, где вы есть, и тот, кто вы есть, благодаря себе, благодаря принятым вами решениям и сделанным выборам (Брайан Трейси). Создадим тестовый набор данных.

Сокращающая выборка по функции

Часто требуется вывод неких статистических данных из датасета. С Python в вашем распоряжении много возможностей, однако некоторые из инструментов помогут сделать это быстрее и без создания ненужных промежуточных этапов. Например, вывод значений из колонки встречающихся более двух раз:

-2

С методом value_counts можно получить всю статистику, а затем выбрать строки с нужным количество повторений, однако существует и более короткий способ - использование выборки по функции, которая в качестве аргумента получает датафрейм или серию, на которых вызывается, и определяет логическое условие выборки:

-3

Комбинированная индексация

Другой прием - комбинация индексации по позиции и названию. Рассмотрим пример, когда вам надо перезаписать часть датафрейма. При этом область определяется номерами строк и названиями колонок. Если делать это с последовательной выборкой, достичь цели не удастся ввиду знаменитого SettingWithCopyWarning:

-4

В этом случае на помощь придет один из двух способов соединить два вида индексации. Так, чтобы сделать это с iloc, следует получить позиции колонок через метод get_indexer:

-5

Аналогичная манипуляция при индексации по названиям предполагает получение названий индексов через атрибут index:

-6
-7