В Pandas данные представлены в виде двухмерной таблицы Dataframe. Получение значений отдельной строки из Dataframe является часто встречающейся задачей. В этой статье мы рассмотрим три метода, как это можно сделать.
Для учебного примера создадим датафрейм с информацией по городам:
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])
Способ 2. Выбор строки по условию в столбце Pandas
В случае, если вам нужно получить значение строки по определенному условию в столбце, то нам подойдет метод loc(). Давайте отразим значения строки, по условию что город у нас равен «Казань»:city_df.loc[city_df['Город'] == 'Казань']
Способ 3. Выбор строки по нескольким условиям в столбцах Pandas
Отбор можно проводить как по одному условию (см. Способ 2), так и по нескольким. Давайте найдем строку с городом, год основания которого 1703, а площадь 1439:city_df.loc[(city_df['Дата основания'] == '1703')&(city_df['Площадь'] =='1439')]Обратите внимание на то, что каждое условие должно быть заключено в круглые скобки, а между ними логическое И либо ИЛИ: & или | (Важно!!! Команды and и or в Pandas не работают для отборов, используйте только & или |).
Мы рассмотрели основные варианты получения значения строки в Pandas по условию. Эти знания могут помочь вам получить современную, высокооплачиваемую профессию, к примеру Data Scientist. А для того, чтобы получить все необходимые для этого навыки, пройдите курс «Data Scientist с нуля до Junior» от Skillbox.
Спасибо за внимание. Для лучшего понимания материала прикладываю ноутбук для этой статьи.
Комментариев нет:
Отправить комментарий
Спасибо за комментарий.