python pandas groupby plot,排序日期为xtick

时间:2016-03-24 18:08:35

标签: pandas plot group-by

我有一个pandas dataframe df,格式如下

date          value       team
12/8/2015       1.2         'A'
12/8/2015       1.3         'A'
12/7/2015       1.2         'A'
12/6/2015       1.3         'B'
12/6/2015       1.1         'B'
12/7/2015       1.3         'B'
...............................

我想要的是一个图,其中两条曲线代表两组,日期为x值,相应日期的平均值为y​​值。让我困扰的是日期格式似乎不正确,因为python抱怨

“无法将12/8/2015转换为数字”

for label, group in df.groupby('team']):
      group.plot(x=group['date'], y=group['date'].mean(),label=label)

1 个答案:

答案 0 :(得分:2)

首先需要将日期转换为时间戳。

Seq

然后您可以分组并取消堆栈以获得所需的数据:

df['date'] = pd.to_datetime(df.date)

添加>>> df.groupby(['date', 'team']).sum().unstack('team') value team 'A' 'B' date 2015-12-06 NaN 2.4 2015-12-07 1.2 1.3 2015-12-08 2.5 NaN ,您应该得到所需的结果。