def _plotWeekdayStats(stats, columns, groupBy=True):
dataToPlot = stats.copy()
# Group by weekday and rename date column
if groupBy:
dataToPlot = dataToPlot.groupby(stats['date'].dt.weekday).mean()
dataToPlot = dataToPlot.reset_index().rename(columns={'date':'weekday'})
# change stats from columns to row attribute
dataToPlot = pd.melt(dataToPlot, id_vars=['weekday'], value_vars=columns,
var_name='stats', value_name='val')
# Rename stats and weekdays
dataToPlot['stats'].replace(NAMES, inplace=True)
dataToPlot['weekday'].replace(dayOfWeek, inplace=True)
# Plot
g = sns.factorplot(data=dataToPlot, x="weekday", y="val", col="stats",
order=dayOfWeekOrder, kind="point", sharey=False, col_wrap=3)
g.set_xticklabels(rotation=45)
g.set(xlabel='')
return g
#sns.plt.show()
评论列表
文章目录