Построить график парных сравнений
average_data = {'female': [16.54,
505.47,
402.13,
187.35,
194.56,
225.44,
21.38,
233.63,
113.02,
61.01,
1.33,
109.41,
591.77],
'male': [16.05,
405.95,
278.87,
161.07,
136.48,
144.68,
20.41,
169.5,
85.59,
38.86,
1.13,
78.06,
454.2]}
columns = ['Средний размер предложения', 'Существительные', 'Глаголы', 'Прилагательные', 'Наречия', 'Местоимения', 'Числительные', 'Предлоги', 'Сочинительные союзы', 'Подчинительные союзы', 'Междометия', 'Частицы', 'Знаки препинания']
import pandas as pd
import seaborn as sns
df = pd.DataFrame.from_dict(average_data, orient='index', columns=columns)
df.head()
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
male_bars = df.values[0]
female_bars = df.values[1]
df.head()
sns.histplot(data=df, y=columns, multiple='dodge', shrink=.8)
Есть ДатаФрейм с двуми столбцами. Как нарисовать график со сравнением значений из каждого столбца
Ответы (3 шт):
Автор решения: Kirill Kondratenko
→ Ссылка
Сначала следует преобразить фрейм данных в удобный для составления графика формат (для этого я вывожу пол в отдельную колонку с помощью reset_index() и группирую все остальные колонки по полу с помощью melt) и дальше для сравнения лучше всего подойдет горизонтальный barplot:
df_graph = df.reset_index().melt(id_vars=['index'])
sns.barplot(df_graph, x="value", y ='variable', hue='index')
Автор решения: CrazyElf
→ Ссылка
Как вариант, с минимумом телодвижений:
df.T.plot(kind='bar')
P.S. Надписи на картинке полные, сохранилось что-то криво.
Автор решения: strawdog
→ Ссылка
Вам нужна столбчатая диаграмма, а не гистограмма, которую вы пытаетесь создать в своем коде. и всего две строки кода:
df = pd.DataFrame(average_data, index = columns)
df.plot(kind="barh")


