时间序列的简单tsplot

时间:2017-11-30 16:54:34

标签: python pandas seaborn

我有以下数据框:

    Date    group   count
0   2015-01-12 Category1    27
1   2015-01-19 Category1    2
2   2015-01-26 Category1    31
3   2015-02-02 Category1    20
4   2015-02-09 Category1    24
5   2015-02-16 Category1    16
6   2015-02-23 Category1    18
7   2015-03-02 Category1    15
8   2015-03-09 Category1    29
9   2015-03-16 Category1    6
10  2015-03-23 Category1    19
11  2015-03-30 Category1    27
12  2015-04-06 Category1    6
13  2015-04-07 Category1    7
14  2015-04-13 Category1    25
15  2015-04-20 Category1    9

我想用seaborn 绘制一个简单的时间序列。只是Y轴上的计数折线图,X轴上的日期就像这样:enter image description here

我认为它会像sns.tsplot(data=df, time=df['Date'], value=df['count'])sns.tsplot(data=df, time='Date', value='count')一样简单,并且在tsplot()文档之后我无法获得这么简单的代码。数据类型似乎很好,但我在这里缺少什么?:

#df.dtypes
Date     datetime64[ns]
group            object
count             int64

旁注,是否有人知道为什么tsplot()deprecated? (超出文档中模糊的定义)

2 个答案:

答案 0 :(得分:2)

我猜tsplot已被弃用,因为人们倾向于认为它对绘制时间序列很有用 - 事实并非如此。当然你可以使用它,参见例如this question,但我建议您只是将数据绘制为线图:

ax = df.plot(x="Date", y="count")
ax.figure.autofmt_xdate()

enter image description here

答案 1 :(得分:0)

import seaborn as sns
sns.tsplot(data=pd.Series([10,15,20,15,20,25,20,25,30,35,30,35,40,45]), color="b")

enter image description here

但请注意@ImportanceOfBeingErnest的答案更合适