Поиск по сайту:

Постройте размер каждой группы в объекте Groupby в Pandas


Pandas — мощная библиотека Python, используемая в основном для анализа данных. Поскольку он содержит большие и сложные наборы числовых данных, которые трудно понять, нам необходимо построить график этих наборов данных, что позволит легко визуализировать отношения внутри данного набора данных. Python предоставляет несколько библиотек, таких как Matplotlib, Plotly и Seaborn, для простого создания информативных графиков на основе заданных данных. В этой статье мы покажем, как отобразить размер каждой группы в объекте Groupby в Pandas.

Программа Python для отображения размера каждой группы в объекте Groupby

Чтобы построить размер каждой группы, мы будем использовать упомянутые ниже библиотеки Python:

  • Матплотлиб

  • Сиборн

  • Сюжетно

Давайте обсудим их практическую реализацию при отображении размера каждой группы Pandas DataFrame с помощью примеров программ.

Использование Матплотлиба

Это старейшая и наиболее широко используемая библиотека Python для построения графиков. Он предоставляет низкоуровневый интерфейс, который дает нам полный контроль над всеми аспектами наших графиков, такими как оси, метки, легенды, цвета, маркеры и т. д. Мы также можем интегрировать его с другими библиотеками, такими как NumPy и Pandas, для построения данных из различных источников.

Пример 1

В следующем примере показано использование matplotlib с объектом groupby для построения графика размера указанной группы.

Подход

  • Импортируйте библиотеку pandas со справочным именем «pd» и модуль pyplot из библиотеки matplotlib и переименуйте ее в plt.

  • Создайте данные словаря, содержащие два столбца «Имя_группы» и «Значения».

  • Передайте этот словарь методу DataFrame() Pandas, чтобы создать DataFrame с именем «df».

  • Теперь используйте метод groupby(), чтобы сгруппировать DataFrame по столбцу «Group_name». Затем мы вызываем метод size(), чтобы получить размер каждой группы. Полученный объект, группируемый по объектам, будет сохранен в «group_sizes».

  • Вызовите методplot() объекта «group_sizes», указав kind=«bar», чтобы создать гистограмму. Затем, используя некоторые встроенные методы, установите метку оси X, метку оси Y и заголовок графика.

  • Наконец, мы вызываем метод show() для отображения графика.

import pandas as pd
import matplotlib.pyplot as plt
# Creating a user-defined DataFrame
data = {'Group_name': ['A', 'A', 'B', 'B', 'B', 'C'],
      'Values': [10, 12, 30, 14, 50, 16] }
df = pd.DataFrame(data)
# using groupby() method and getting the size
group_sizes = df.groupby('Group_name').size()
# to plot the size of group using Matplotlib
group_sizes.plot(kind='bar')
plt.xlabel('Group Name')
plt.ylabel('Sizes')
plt.title('Graph Showing Group Sizes')
plt.show()

Выход

Использование Сиборна

Он построен на основе модуля pyplot в Matplotlib, который предлагает интерфейс более высокого уровня для визуализации данных с улучшенными цветовыми палитрами и макетами сетки.

Пример 2

В следующем примере мы будем использовать объект seaborn with groupby для построения графика размера указанной группы.

Подход

  • Импортируйте библиотеки pandas и seaborn со ссылочными именами pd и sns соответственно.

  • Аналогично предыдущему коду создайте данные словаря, содержащие два столбца «Имя_группы» и «Значения».

  • Затем передайте этот словарь методу DataFrame() Pandas, чтобы создать DataFrame с именем «df».

  • Используя метод groupby(), мы группируем DataFrame по столбцу Group_name. Затем вызовите метод size() этого объекта, чтобы получить размер каждой группы. Здесь мы будем использовать дополнительный метод с именем «reset_index()» для преобразования результата в DataFrame со столбцами «Group_name» и «Size». Полученный объект, группируемый по объектам, будет сохранен в «group_sizes».

  • Теперь используйте встроенный метод barplot() Seaborn для создания гистограммы. Мы передаем DataFrame group_sizes в качестве параметра данных. Мы указываем имя столбца оси X как «Group_name», а имя столбца оси Y — как «Размеры».

  • Затем, используя некоторые встроенные методы, установите метку оси X, метку оси Y и заголовок графика.

  • Наконец, мы вызываем метод show() для отображения графика.

import pandas as pd
import seaborn as sns
# Creating a user-defined DataFrame
data = {'Group_name': ['A', 'A', 'B', 'B', 'B', 'C'],
        'Values': [1, 2, 3, 4, 5, 6] }
df = pd.DataFrame(data)
# using groupby() method and getting the size
group_sizes = df.groupby('Group_name').size().reset_index(name='Size')
# to plot the size of group using Seaborn
sns.barplot(data=group_sizes, x='Group_name', y='Size')
plt.xlabel('Group Name')
plt.ylabel('Sizes')
plt.title('Group Sizes')
plt.show() # to show the result

Выход

Использование Плотли

Преимущество использования Plotly перед двумя предыдущими библиотеками заключается в его интерактивном характере, позволяющем масштабировать, панорамировать и исследовать график более подробно.

Пример 3

В этом примере мы изменим код из предыдущего примера, чтобы построить график размера указанной группы с помощьюplotly и groupby().

import pandas as pd
import plotly.express as px
# Creating a user-defined DataFrame
data = {'Group_name': ['A', 'A', 'B', 'B', 'B', 'C'],
        'Values': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# using groupby() method and getting the size
group_sizes = df.groupby('Group_name').size().reset_index(name = 'Sizes')
# to plot the size of group using Plotly
fig = px.bar(group_sizes, x = 'Group_name', y = 'Sizes', title = 'Group Sizes', width = 500, height = 350)
fig.show() # to show the result

Выход

В приведенном выше коде мы использовали метод bar() из Plotly Express для создания гистограммы. Мы передали DataFrame group_sizes в качестве первого аргумента. Мы указываем имя столбца оси X как «Имя_группы», имя столбца оси Y как «Размеры» и заголовок графика как «Размеры группы». Вместо plt.show() мы вызвали fig.show() для отображения графика.

Заключение

В этой статье мы обсудили три подхода к построению размера каждой группы в групповом объекте Pandas DataFrame. Эти три подхода: matplotlib, seaborn иplotly. Это самые популярные и широко используемые библиотеки, используемые для построения графиков.

Статьи по данной тематике: