【问题标题】:How to chart groupby counts in pyplot?如何在pyplot中绘制groupby计数?
【发布时间】:2020-08-28 10:42:59
【问题描述】:

如何从以下groupby 生成 pyplot 折线图,其中 y 值 表示每个 'enabled_flag' 值的计数?

df = pd.DataFrame({'date': ['2019-10-06', '2019-10-06','2019-10-06', '2019-10-07', '2019-10-07'], 
                   'enabled_flag': ['y', 'y','n', 'y', 'n']})

df.groupby(['date','enabled_flag'])['enabled_flag'].count()

因此,x 轴是“日期”,y 有两个轴,一个用于“Y”计数,另一个用于“N”计数。

【问题讨论】:

  • 能否提供创建df的代码?
  • @DavideBrex - df 代码已在上面添加,谢谢!

标签: python-3.x pandas matplotlib pandas-groupby


【解决方案1】:

你可以这样做:

(df.groupby(['date','enabled_flag'])['enabled_flag'].count()
   .unstack()
   .plot()
)

或者

(df.groupby('date')['enabled_flag'].value_counts()
   .unstack()
   .plot()
)

输出:

【讨论】:

  • 做到了!谢谢!
【解决方案2】:
plt.gca().set_color_cycle(['green', 'yellow'])
for dtype in ['Y', 'N']:
  plt.plot(
     'Datetime',
     dtype,
     data=df,
     label=dtype,
     alpha=0.8
     )
plt.legend()
plt.grid() 
plt.show() 

试试这个。这行得通吗?

【讨论】:

  • 不成功
  • 对不起
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多