我有一个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)
答案 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
,您应该得到所需的结果。