python - 给定日期时间的 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
解决方案
利用:
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
说明:
- 首先将值转换为年份
dt.year
value_counts
按with计数,因为默认按最高值sort_index
排序value_counts
- 最后的情节
Series.plot.bar
推荐阅读
- azure-data-factory-2 - 将查找结果分配到性能更好的数组中
- sql - 存储过程与 TSQL 代码结果不匹配
- sql - 每条记录的运行总百分比占总和。Presto/雅典娜/SQL
- python - 在 inkscape 扩展中,如何获取路径部分的数据?
- c++ - 如何避免C++中数据类型宽度之外的按位运算
- swift - 如何在本机 Swift 中获取键盘输入?
- python - 获取正在转换为文本的音频文件的持续时间
- spring-boot - 寻找关于 oauth2resttemplate 的指南
- ios - 从临时文件中获取所有文档
- python - TensorFlow中的loss是如何计算的?