Как перечислить значения для каждой группы Pandas?

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

В этой статье мы увидим, как мы можем отобразить все значения каждой группы, на которую разделен фрейм данных. Фрейм данных сначала делится на группы с помощью метода DataFrame.groupby () . Затем мы модифицируем его так, чтобы каждая группа содержала значения в списке.

First, Let’s create a Dataframe:

Python3

# import pandas library
import pandas as pd
  
# create a dataframe
df = pd.DataFrame({"a": ["A", "A", "B",
                          "B", "B", "C",
                          "C", "D"], 
                    "b": [1, 2, 5,
                          3, 5, 4,
                          8, 6]})
# show the dataframe                  
df

Выход:

Method 1: Using DataFrame.groupby() and Series.apply() together.
Example: We’ll create lists of all values of each group and store it in new column called “listvalues”.

Python3

# import pandas library
import pandas as pd
  
# create a dataframe
df = pd.DataFrame({"a": ["A", "A", "B",
                          "B", "B", "C",
                          "C", "D"], 
                    "b": [1, 2, 5,
                          3, 5, 4,
                          8, 6]})
                   
# convert values of each group
# into a list
groups = df.groupby("a")["b"].apply(list)
  
print(groups)
  
# groups store in a new 
# column called listvalues
df1 = groups.reset_index(name 
                         = "listvalues")
# show the dataframe
df1

Выход:

Метод 2: Использование DataFrame.groupby () и Series.agg () .

Example: We use thelambda function inside the Series.agg() to convert the all values of a group to a list.

Python3

# import pandas library
import pandas as pd
  
# create a dataframe
df = pd.DataFrame( {"a": ["A", "A", "B",
                         "B", "B", "C"
                         "C", "D"], 
                    "b": [1, 2, 5
                         3, 5, 4,
                         8, 6]}
                 )
# convert values of each group
# into a list
groups = df.groupby("a").agg(lambda
                             x: list(x))
  
print(groups)

Выход:

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

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