首页 > 解决方案 > 给定日期时间的 DataFrame,绘制年度用户访问

问题描述

给定下面的 DataFrame,按年份绘制用户访问。

首选折线图,x 轴为年份,y 轴为当年访问的次数。

数据框:

In:
    print df
Out:
    0     2016-10-01
    1     2015-11-05
    2     2017-12-07
    3     2016-08-09
    4     2015-11-22
    5     2016-12-13
    6     2017-03-25
    7     2016-09-11
    8     2017-04-12
    9     2016-08-29
    10    2015-11-04
    Name: date, dtype: datetime64[ns]

导入的模块:matplotlib、pandas 和 seaborn:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

标签: pythonpandas

解决方案


利用:

df['date'].dt.year.value_counts().sort_index().plot.bar()

详情

print (df['date'].dt.year.value_counts().sort_index())
2015    3
2016    5
2017    3
Name: date, dtype: int64

说明

  1. 首先将值转换为年份dt.year
  2. value_counts按with计数,因为默认按最高值sort_index排序value_counts
  3. 最后的情节Series.plot.bar

图形


推荐阅读