这里有一个更乏味的问题,但希望有人可以提供帮助。我正在尝试绘制一个聚合值(按星期几组),但是按周数显示日期缩写和顺序(即显示Mon,首先按索引0排序)。
def Format_plot(plot):
plot.spines["top"].set_visible(False)
plot.spines["right"].set_visible(False)
plot.yaxis.set_ticks_position("left")
plot.xaxis.set_ticks_position("bottom")
#For purposes of mapping
days = {0:'Mon',1:'Tues',2:'Weds',3:'Thurs',4:'Fri',5:'Sat',6:'Sun'}
ds['signup_weekday'] = ds['signup_dayofweek'].apply(lambda x: days[x])
ds = ds.sort_values(by = 'signup_date')
first_ride_rate = {
'success': lambda x: 1.0*sum(x)/len(x)
}
def GraphMe(item):
de = ds[pd.notnull(ds[item])]
if item == 'signup_weekday':
sorter = 'signup_dayofweek'
else:
sorter = item
de = de.sort_values(by = sorter)
total_avg = 1.0*sum(de['success'])/len(de['success'])
plot = de.groupby(item).agg(first_ride_rate).plot(kind = 'bar',legend=None, title = "Share of signups to complete a first trip")
Format_plot(plot)
plot.axhline(y=total_avg, color = 'orange')
plot.set_xlabel(item)
plot.set_ylabel('Share of Signups to Complete')
print sorter
for item in ['signup_dayofweek','signup_weekday']:
GraphMe(item)
正如你所看到的那样,它并没有像我想要的那样订购周日指数,希望有人有一个聪明的黑客。此外,如果有一个简单的方法将jupyter笔记本单元格输入到堆栈溢出中,将有助于了解更多问题。
谢谢!
答案 0 :(得分:1)
如果我理解正确的名为 signup_dayofweek 的图表是正确的,你只想在x轴上有不同的标签?!
在这种情况下,只需添加
即可Select name, population
where name = 'France','Germany','Italy'
(这里是.set_xticklabels
)