我使用熊猫有两组独立的数据:
>>> suicides_sex = suicides_russia.groupby("sex")["suicides_no"].sum()
>>> suicides_sex
sex
female 214330
male 995412
&
>>> suicides_age = suicides_russia.groupby("age")
>>> ["suicides_no"].sum().sort_values()
>>> suicides_age
age
5-14 years 8840
75+ years 74211
15-24 years 148611
25-34 years 231187
55-74 years 267753
35-54 years 479140
我想学习如何使用matplotlib
创建双条形图或两个单独的条形图,在其中可以按性别区分每个年龄段。
我如何结合两组数据来创建具有双列的单个条形图或每种性别的两个单独的条形图?
您可以使用布尔掩码来分隔数据,然后像以前一样按年龄分组。
import matplotlib.pyplot as plt
suicide_male = suicide_russia.loc[suicide_russia['sex']=='male', :]
# now you basically have the same dataframe but for male only
suicide_male_age = suicides_male.groupby("age")["suicides_no"].sum()
plt.bar(height=suicide_male_age.values, x=np.arange(suicide_male_age.index))
plt.xticks(labels=suicide_male_age.index)
plt.show()
然后您可以对女性重复相同的操作。这可能不是最有效的方法,但是可以。
而且,我还假设'age'列的值是字符串,所以我将np.arange
设置为条形的x位置,并将值本身作为xticks。
希望有帮助!