我成功地创建了一个图,显示了我的Pandas dataframe中每个年龄的每个类标签的记录数。但我也希望在每个年龄组中看到“非功能性”类的百分比标签。
图的Python代码是
train['age_wpt'] = train.date_recorded.str.split('-').str.get(0).apply(int) - train.construction_year
figure = plt.figure(figsize=(15,8))
plt.hist([
train[(train.status_group=='functional') & (train.age_wpt < 60.0) & (train.age_wpt >= 0.0)]['age_wpt'],
train[(train.status_group=='non functional') & (train.age_wpt < 60.0) & (train.age_wpt >= 0.0)]['age_wpt'],
train[(train.status_group=='functional needs repair') & (train.age_wpt < 60.0) & (train.age_wpt >= 0.0)]['age_wpt']
],
stacked=True, color = ['b','r','y'],
bins = 30,label = ['functional','non functional', 'functional needs repair'])
plt.xlabel('Age')
plt.ylabel('Number of records')
plt.legend()
这将产生以下图表
发布于 2016-08-17 19:22:04
赋范:布尔值,如果是可选的,如果是
True
,返回元组的第一个元素将是归一化的计数,形成一个概率密度,即n/(len(x)`dbin)
,即直方图的积分将求和为1。如果叠加也为真,则直方图的和被标准化为1。默认为False
。
plt.hist([
train[(train.status_group=='functional') & (train.age_wpt < 60.0) & (train.age_wpt >= 0.0)]['age_wpt'],
train[(train.status_group=='non functional') & (train.age_wpt < 60.0) & (train.age_wpt >= 0.0)]['age_wpt'],
train[(train.status_group=='functional needs repair') & (train.age_wpt < 60.0) & (train.age_wpt >= 0.0)]['age_wpt']
],
stacked=False, color = ['b','r','y'], normed=True
bins = 30,label = ['functional','non functional', 'functional needs repair'])
https://stackoverflow.com/questions/39004606
复制相似问题