如何在一列上使用groupby在python上绘制折线图

时间:2018-12-01 23:56:25

标签: python pandas dataframe matplotlib graph

数据集

Age    factor1    factor2
20-25    0           1
26-30    0           0
31-35    1           0
20-25    1           1
26-30    0           1
20-25    1           0

我想在python中创建线形图,并按值'Age'(x轴)进行分组,而y轴是在factor1列中出现“ 1”的次数的计数。

我尝试了以下代码,但它显示了“年龄”类别重复的次数,而不是factor1中的次数

df.groupby('Age')['factor1'].count().plot(kind='line')
plt.show()

1 个答案:

答案 0 :(得分:1)

您可以使用crosstab

pd.crosstab(df.Age,df.factor1)
factor1  0  1
Age          
20-25    1  2
26-30    2  0
31-35    0  1

pd.crosstab(df.Age,df.factor1)[1].plot(kind='line')

enter image description here