Получить N самых верхних записей в каждой группе фрейма данных Pandas

Опубликовано: 27 Марта, 2022

Во-первых, фреймворк pandas хранит данные в виде таблицы. В некоторых ситуациях нам нужно получить данные из фрейма данных в соответствии с некоторыми условиями. Например, если мы хотим получить первые N записей каждой группы фрейма данных. Здесь мы будем использовать функцию панд Groupby () для группировки столбцов. Итак, мы можем сделать это следующим образом:

Firstly, we created a pandas dataframe:

Python3

#importing pandas as pd
import pandas as pd
  
#creating dataframe
df=pd.DataFrame({ "Variables": ["A","A","A","A","B","B",
                                "B","C","C","C","C"],
                 "Value": [2,5,0,3,1,0,9,0,7,5,4]})
df

Выход:

Теперь мы получим N самых верхних значений каждой группы столбца «Переменные». Здесь reset_index () используется для предоставления нового индекса в соответствии с группировкой данных. И голова () используется для получения N самых верхних значений сверху.

Example 1: Suppose the value of N=2

Python3

# setting value of N as 2
N = 2
  
# using groupby to group acc. to
# column "Variable"
df.groupby("Variables").head(N).reset_index(drop=True)

Выход:

Example 2: Now, suppose the value of N=4

Python3

# setting value of N as 2
N = 4
  
# using groupby to group acc. 
# to column "Variable"
df.groupby("Variables").head(N).reset_index(drop=True)

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.