data_client

Технологии Blogger.

Как получить значение строки по условию в Pandas?

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

 Как получить значение строки по условию в Pandas?

Для учебного примера создадим датафрейм с информацией по городам:

import pandas as pd
city_data = {
    'Город':['Москва', 'Казань', 'Владивосток', 'Санкт-Петербург', 'Калининград'],
    'Дата основания':['1147', '1005', '1860', '1703', '1255'],
    'Площадь':['2511', '516', '331', '1439', '223'],
    'Население':['11,9', '1,2', '0,6', '4,9', '0,4'],
    'Погода':['8', '8', '17', '9', '12'] }
city_df = pd.DataFrame(city_data)
city_df

Способ 1. Выбор строки по ее индексу в Pandas

Метод iloc() позволяет получить строку по номеру ее индекса. Обратите внимание, что нумерация строк в Pandas начинается с 0. Давайте получим значения строки по городу Владивосток и выведем их, индекс у него 2:

print(city_df.iloc[2])

Как получить значение строки по условию в Pandas?

Способ 2. Выбор строки по условию в столбце Pandas

В случае, если вам нужно получить значение строки по определенному условию в столбце, то нам подойдет метод loc(). Давайте отразим значения строки, по условию что город у нас равен «Казань»:
city_df.loc[city_df['Город'] == 'Казань']

Как получить значение строки по условию в Pandas?

Способ 3. Выбор строки по нескольким условиям в столбцах Pandas

Отбор можно проводить как по одному условию (см. Способ 2), так и по нескольким. Давайте найдем строку с городом, год основания которого 1703, а площадь 1439:
city_df.loc[(city_df['Дата основания'] == '1703')&(city_df['Площадь'] =='1439')]
Как получить значение строки по условию в Pandas?
Обратите внимание на то, что каждое условие должно быть заключено в круглые скобки, а между ними логическое И либо ИЛИ: & или | (Важно!!! Команды and и or в Pandas не работают для отборов, используйте только & или |).

Мы рассмотрели основные варианты получения значения строки в Pandas по условию. Эти знания могут помочь вам получить современную, высокооплачиваемую профессию, к примеру Data Scientist. А для того, чтобы получить все необходимые для этого навыки, пройдите курс «Data Scientist с нуля до Junior» от Skillbox.

Спасибо за внимание. Для лучшего понимания материала прикладываю ноутбук для этой статьи.

0 comments:

Отправить комментарий

Спасибо за комментарий.