具体来说,我正在处理Kaggle Titanic数据集。我绘制了一个堆积的直方图,显示了在泰坦尼克号上幸存和死亡的年龄。下面的代码。
figure = plt.figure(figsize=(15,8))
plt.hist([data[data['Survived']==1]['Age'], data[data['Survived']==0]['Age']], stacked=True, bins=30, label=['Survived','Dead'])
plt.xlabel('Age')
plt.ylabel('Number of passengers')
plt.legend()
Run Code Online (Sandbox Code Playgroud)
我想更改图表,以在每个年龄组中幸存的百分比显示一个图表。例如,如果垃圾箱包含10至20岁之间的年龄,并且该年龄段的泰坦尼克号上有60%的人幸存下来,那么高度将沿y轴对齐60%。
编辑:我可能对我要寻找的东西没有给出很好的解释。我希望不改变y轴的值,而是根据存活的百分比来更改条形的实际形状。
图中的第一个垃圾箱显示该年龄组中大约有65%的存活率。我希望此bin相对于y轴对齐65%。以下垃圾桶分别为90%,50%和10%,依此类推。
该图最终看起来实际上是这样的:
我想创建一个新的数据框,其中A和B保留但B列被重命名,A和C列在其下面重复,但C的值被放入重命名的列C(D).
df = A B C
'bob' 1 4
'john' 2 5
'mick' 3 6
Run Code Online (Sandbox Code Playgroud)
这就是新数据帧应该是什么样子.
new_df = A D
'bob' 1
'john' 2
'mick' 3
'bob' 4
'john' 5
'mick' 6
Run Code Online (Sandbox Code Playgroud)