#python #pandas #seaborn
#python #панды #seaborn
Вопрос:
У меня есть следующее pandas
Dataframe
:
A B C
0 2017-01-01 1 4.199197e 06
1 2017-01-01 2 8.708300e 06
2 2017-01-01 3 5.401463e 06
результат операции groupby:
tot_reg = (sales.groupby(['A', 'B'])[['C']]
.sum()
.reset_index())
Я хотел бы построить Seaborn
sns.Facetgrid
график A
по оси x, C
по оси y, для каждого B, который есть, у меня есть:
sns.FacetGrid(tot_reg, col='B', col_wrap=4)
но, хотя он подсчитывает уникальные B
и отображает правильное количество подзаголовков, графики пусты.
Как мне построить сетку фасетов Seaborn с результатом groupby
?
Ответ №1:
Вам нужно сопоставить команду plot с facetgrid:
fg = sns.FacetGrid(df, col='B', col_wrap=4)
fg.map(sns.scatterplot, 'A','C')
Вывод:
Комментарии:
1. Спасибо. Это правильно… но почему? Можете ли вы подробнее рассказать о логике?
2. Логика заключается в том, что вы используете
FacetGrid
для настройки подзаголовков, а затем используете команды plot, Чтобы указать, что вы хотите нарисовать (scatter, line, box и т. Д.). Я думаю, что это довольно просто и разумно.