loc pandas что делает

Функция Python loc () – Извлечение значений из набора данных

Эй, читатели! В этой статье мы подробно остановимся на функционировании функции Python loc (). Итак, давайте начнем!!

Эй, читатели! В этой статье мы подробно остановимся на функционировании функции Python loc ()|/. Итак, давайте начнем!!

Работа функции Python loc()

Python включает в себя различные модули, которые имеют встроенные функции для работы со значениями данных и управления ими.

Модуль Pandas позволяет нам обрабатывать большие наборы данных, содержащие значительное количество данных для обработки в целом.

Это происходит, когда на сцену выходит функция Python loc ()|/. Функция lock() помогает нам легко извлекать значения данных из набора данных.

Используя функцию loc (), мы можем получить доступ к значениям данных, помещенным в конкретную строку или столбец, на основе значения индекса, переданного функции.

Нам нужно указать значения индекса, для которых мы хотим, чтобы все данные были представлены в выходных данных.

Метка индекса может быть одним из следующих значений :

Таким образом, мы можем извлечь конкретную запись из набора данных на основе метки индекса с помощью функции loc ().

Давайте теперь сосредоточимся на реализации того же самого, используя приведенные ниже примеры.

Примеры функции Python loc()

Давайте сначала создадим фрейм данных с набором значений данных, используя фрейм данных в модуле Pandas, как показано ниже:

Фрейм данных :

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

Извлечение одной строки из фрейма данных

Итак, используя приведенную выше команду, мы извлекли все значения данных, связанные с меткой индекса “Python”.

Извлечение нескольких строк из фрейма данных

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

Извлеките диапазон строк с помощью Python loc()

Здесь мы использовали объект slice, как и в случае с метками, для отображения строк и столбцов, связанных с метками от “Python” до “C”.

Вывод

На этом мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы.

Для получения большего количества таких сообщений, связанных с Python, оставайтесь настроенными и до тех пор счастливого обучения!!

Источник

Моя шпаргалка по pandas

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

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

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

1. Подготовка к работе

Если вы хотите самостоятельно опробовать то, о чём тут пойдёт речь, загрузите набор данных Anime Recommendations Database с Kaggle. Распакуйте его и поместите в ту же папку, где находится ваш Jupyter Notebook (далее — блокнот).

Теперь выполните следующие команды.

После этого у вас должна появиться возможность воспроизвести то, что я покажу в следующих разделах этого материала.

2. Импорт данных

▍Загрузка CSV-данных

Здесь я хочу рассказать о преобразовании CSV-данных непосредственно в датафреймы (в объекты Dataframe). Иногда при загрузке данных формата CSV нужно указывать их кодировку (например, это может выглядеть как encoding=’ISO-8859–1′ ). Это — первое, что стоит попробовать сделать в том случае, если оказывается, что после загрузки данных датафрейм содержит нечитаемые символы.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

▍Создание датафрейма из данных, введённых вручную

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

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Данные, введённые вручную

▍Копирование датафрейма

Копирование датафреймов может пригодиться в ситуациях, когда требуется внести в данные изменения, но при этом надо и сохранить оригинал. Если датафреймы нужно копировать, то рекомендуется делать это сразу после их загрузки.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

3. Экспорт данных

▍Экспорт в формат CSV

При экспорте данных они сохраняются в той же папке, где находится блокнот. Ниже показан пример сохранения первых 10 строк датафрейма, но то, что именно сохранять, зависит от конкретной задачи.

4. Просмотр и исследование данных

▍Получение n записей из начала или конца датафрейма

Сначала поговорим о выводе первых n элементов датафрейма. Я часто вывожу некоторое количество элементов из начала датафрейма где-нибудь в блокноте. Это позволяет мне удобно обращаться к этим данным в том случае, если я забуду о том, что именно находится в датафрейме. Похожую роль играет и вывод нескольких последних элементов.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Данные из начала датафрейма

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Данные из конца датафрейма

▍Подсчёт количества строк в датафрейме

▍Подсчёт количества уникальных значений в столбце

Для подсчёта количества уникальных значений в столбце можно воспользоваться такой конструкцией:

▍Получение сведений о датафрейме

В сведения о датафрейме входит общая информация о нём вроде заголовка, количества значений, типов данных столбцов.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Сведения о датафрейме

▍Вывод статистических сведений о датафрейме

Знание статистических сведений о датафрейме весьма полезно в ситуациях, когда он содержит множество числовых значений. Например, знание среднего, минимального и максимального значений столбца rating даёт нам некоторое понимание того, как, в целом, выглядит датафрейм. Вот соответствующая команда:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Статистические сведения о датафрейме

▍Подсчёт количества значений

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

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Подсчёт количества элементов в столбце

5. Извлечение информации из датафреймов

▍Создание списка или объекта Series на основе значений столбца

Это может пригодиться в тех случаях, когда требуется извлекать значения столбцов в переменные x и y для обучения модели. Здесь применимы следующие команды:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты работы команды anime[‘genre’].tolist()

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты работы команды anime[‘genre’]

▍Получение списка значений из индекса

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Получение списка значений столбцов

Вот команда, которая позволяет получить список значений столбцов:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

6. Добавление данных в датафрейм и удаление их из него

▍Присоединение к датафрейму нового столбца с заданным значением

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

▍Создание нового датафрейма из подмножества столбцов

Это может пригодиться в том случае, если требуется сохранить в новом датафрейме несколько столбцов огромного датафрейма, но при этом не хочется выписывать имена столбцов, которые нужно удалить.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результат выполнения команды

▍Удаление заданных столбцов

Этот приём может оказаться полезным в том случае, если из датафрейма нужно удалить лишь несколько столбцов. Если удалять нужно много столбцов, то эта задача может оказаться довольно-таки утомительной, поэтому тут я предпочитаю пользоваться возможностью, описанной в предыдущем разделе.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Добавление в датафрейм строки с суммой значений из других строк

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результат выполнения команды

Команда вида df.sum(axis=1) позволяет суммировать значения в столбцах.

7. Комбинирование датафреймов

▍Конкатенация двух датафреймов

Эта методика применима в ситуациях, когда имеются два датафрейма с одинаковыми столбцами, которые нужно скомбинировать.

В данном примере мы сначала разделяем датафрейм на две части, а потом снова объединяем эти части:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Датафрейм, объединяющий df1 и df2

▍Слияние датафреймов

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

8. Фильтрация

▍Получение строк с нужными индексными значениями

Индексными значениями датафрейма anime_modified являются названия аниме. Обратите внимание на то, как мы используем эти названия для выбора конкретных столбцов.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Получение строк по числовым индексам

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

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Получение строк по заданным значениям столбцов

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

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

Если нас интересует единственное значение — можно воспользоваться такой конструкцией:

▍Получение среза датафрейма

Эта техника напоминает получение среза списка. А именно, речь идёт о получении фрагмента датафрейма, содержащего строки, соответствующие заданной конфигурации индексов.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Фильтрация по значению

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

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

9. Сортировка

Для сортировки датафреймов по значениям столбцов можно воспользоваться функцией df.sort_values :

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

10. Агрегирование

▍Функция df.groupby и подсчёт количества записей

Вот как подсчитать количество записей с различными значениями в столбцах:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Функция df.groupby и агрегирование столбцов различными способами

▍Создание сводной таблицы

Для того чтобы извлечь из датафрейма некие данные, нет ничего лучше, чем сводная таблица. Обратите внимание на то, что здесь я серьёзно отфильтровал датафрейм, что ускорило создание сводной таблицы.

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

11. Очистка данных

▍Запись в ячейки, содержащие значение NaN, какого-то другого значения

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Таблица, содержащая значения NaN

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты замены значений NaN на 0

12. Другие полезные возможности

▍Отбор случайных образцов из набора данных

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Перебор строк датафрейма

Следующая конструкция позволяет перебирать строки датафрейма:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Результаты выполнения команды

▍Борьба с ошибкой IOPub data rate exceeded

Если вы сталкиваетесь с ошибкой IOPub data rate exceeded — попробуйте, при запуске Jupyter Notebook, воспользоваться следующей командой:

Итоги

Здесь я рассказал о некоторых полезных приёмах использования pandas в среде Jupyter Notebook. Надеюсь, моя шпаргалка вам пригодится.

Источник

pandas.DataFrame.locВ¶

Access a group of rows and columns by label(s) or a boolean array.

.loc[] is primarily label based, but may also be used with a boolean array.

Allowed inputs are:

Note that contrary to usual python slices, both the start and the stop are included

An alignable boolean Series. The index of the key will be aligned before masking.

An alignable Index. The Index of the returned selection will be the input.

A callable function with one argument (the calling Series or DataFrame) and that returns valid output for indexing (one of the above)

If any items are not found.

If an indexed key is passed and its index is unalignable to the frame index.

Access a single value for a row/column label pair.

Access group of rows and columns by integer position(s).

Returns a cross-section (row(s) or column(s)) from the Series/DataFrame.

Access group of values using labels.

Getting values

Single label. Note this returns the row as a Series.

List of labels. Note using [[]] returns a DataFrame.

Single label for row and column

Slice with labels for row and single label for column. As mentioned above, note that both the start and stop of the slice are included.

Boolean list with the same length as the row axis

Alignable boolean Series:

Index (same behavior as df.reindex )

Conditional that returns a boolean Series

Conditional that returns a boolean Series with column labels specified

Callable that returns a boolean Series

Setting values

Set value for all items matching the list of labels

Set value for an entire row

Set value for an entire column

Set value for rows matching callable condition

Getting values on a DataFrame with an index that has integer labels

Another example using integers for the index

Slice with integer labels for rows. As mentioned above, note that both the start and stop of the slice are included.

Getting values with a MultiIndex

A number of examples using a DataFrame with a MultiIndex

Single label. Note this returns a DataFrame with a single index.

Single index tuple. Note this returns a Series.

Single label for row and column. Similar to passing in a tuple, this returns a Series.

Single tuple. Note using [[]] returns a DataFrame.

Single tuple for the index with a single label for the column

Источник

Дата публикации Jul 1, 2019

Я «ковырялся», используя набор данных покемонов ( #dadjokes ) с первой недели моегоКурс Data Science Immersive на Генеральной Ассамблеев Атланте.

Вот что df.head(10) выглядит как:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Индексируемый атрибут, а не метод

Отдельные метки, фрагменты и списки

Передача одного индексатора (так как этот фрейм данныхRangeIndexed, мы передаем целое число) возвращает ряд панд с данными для строки с этим значением индекса, в данном случае Charmander:

Проходя простометка столбцаилииндексатор пустой строкидаст вам ошибку, потому что первая позиция индекса в скобках ищетрядиндекс, и это требуется:

Но передавая метку столбца после использованияНотация Pythonуказать, какие строки вы хотите (например, [:] для всех строк) даст вам данные столбца в серии панд. Обратите внимание, что, в отличие от обычного соглашения Python, .loc срезы включают обе конечные точки:

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Вы также можете пройтиспискис именами индексов строк или столбцов, чтобы получить подмножество данных. (Список понятийработа тоже!)

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Булевы списки

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

loc pandas что делает. Смотреть фото loc pandas что делает. Смотреть картинку loc pandas что делает. Картинка про loc pandas что делает. Фото loc pandas что делает

Все возможности здесь, такие как получение покемонов с более чем 175 атаками:

Или те, у кого меньше 100 очков жизни и более 650 общих характеристик:

Или с буквой «X» в названии или с типом «PsychicFairy»:

Источник

Русские Блоги

Анализ loc, iloc, ix и at / iat в Pandas DataFrame

Некоторое время назад я увидел в Think Python предложение, которое все еще свежо. Это, вероятно, означает: Иногда Python заставляет нас чувствовать себя смущенными, потому что существует слишком много способов добиться эффекта, а не слишком мало.

Действительно, есть такая проблема при выборе данных Pandas DataFrame. Изначально понять индекс списка (чтобы понять индекс списка, обратитесь к:Изображение для понимания индексации и нарезки Python) Уже очень сложно, у DataFrame еще столько методов.

Прекратите говорить ерунду и получите результат прямо сейчас.

1. loc: выбор данных по метке, то есть выбор по значению индекса и столбцов. У метода loc есть два параметра, которые управляют выбором рангов по порядку.

2. iloc: выберите данные по номеру строки, то есть выберите данные по естественному номеру строки и столбца, в котором они расположены. Метод iloc также имеет два параметра, которые контролируют выбор рангов по порядку.

Примечание. Номер строки и индекс отличаются. Номер строки данных после фильтрации изменится в соответствии с новым DataFrame, а индекс не изменится.

3. ix: Смешанный индекс, выберите данные по метке и номеру строки одновременно. У метода ix также есть два параметра, которые управляют выбором рангов по порядку.

Примечание. В двух параметрах ix каждый параметр должен быть проиндексирован с использованием только метки или номера строки для выбора данных, в противном случае будет возвращена часть результата управления.

4. at / iat: получить конкретную позицию определенного значения по метке или номеру строки.

5. Прямой индекс df []

6. Резюме

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *