首页 > 解决方案 > 如何在python中通过在一列上使用groupby和另一列的计数来绘制折线图

问题描述

数据集

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 和 groupby 值“年龄”(x 轴)和 y 轴中的折线图是“1”出现在 factor1 列中的次数的计数。

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

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

标签: pythonpandasdataframematplotlibgraph

解决方案


你可以使用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')

在此处输入图像描述


推荐阅读