# -*- coding: utf-8 -*-
# @File : pandas_dataframe_class_datatime_total_demo.py
# @Date : 2020-01-07 14:27
# @Author : admin
'''
不同月份不同类型的统计次数
'''
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np;
df=pd.read_csv("../../data/911.csv");
#df=df.head(1000);
print(df.head(5))
print("#######################################1.新添加一列分类#############################")
cate_list=df["title"].str.split(": ").tolist()
distinct_cate_list=[m[0] for m in cate_list];
df['cate']=pd.DataFrame(np.array(distinct_cate_list).reshape(df.shape[0],1))
print(df)
print("#######################################2.获取时间序列设置索引#############################")
#处理时间,将字符串转变成pandas的时间序列
df["timeStamp"]=pd.to_datetime(df["timeStamp"])
#设置为索引
df.set_index("timeStamp",inplace=True);
print(df)
group_data=df.groupby(by="cate")
print("=======")
print(group_data)
print("#######################################3.画图#############################")
plt.figure(figsize=(20,8),dpi=80)
for key ,values in group_data:
print(key)
print("=====")
print(values)
cate_month=values.resample("M").count()["title"];
_x=cate_month.index;
_y=cate_month.values;
print(_y)
#格式化riq
_x=[m.strftime("%Y%m%d") for m in _x]
plt.plot(range(len(_x)),_y,label=key);
plt.xticks(range(len(_x)),_x,rotation=45)
plt.legend(loc="best")
plt.show();
