У меня есть один CSV, как этот (разделитель ;
)
Day;col_1;col_2;col_3;month
20180101;652;0;25803;1
20180102;737;6;25677;1
20180103;653;10;27955;1
20180104;914;10;27722;1
[a lot of rows]
20181228;924;35;30191;12
20181229;721;18;28601;12
20181230;902;17;28098;12
20181231;778;30;28909;12
Я хотел бы построить на отдельной оси, значения столбцов col_1
, col_2
и col_3
,На каждой оси я хотел бы иметь одну отдельную рамку для каждого месяца
Я знаю, что это способ сделать это в seaborn только для одного столбца, но я хотел бы сделать это, используя pandas
an matplotlib
только:
import seaborn as sns
sns.boxplot(data=df, x='month', y='col1')
После проверки в этой записи я обнаружил, что это может быть довольно приблизительночто я хочу:
df.assign(index=df.groupby('month').cumcount()).pivot('index','month','col1').plot(kind='box')
Есть ли более эффективный подход?
Как добавить в один сюжет несколькооси (то есть подзаговоры) для каждого colX
?