- 生成一段时间范围:
![在这里插入图片描述](https://img-blog.csdnimg.cn/99ef32965c424bf8a37ebcb4f42466ec.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d7982d0128ab4dd9ab21cf49dd148acc.png#pic_center)
- pandas重采样:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d2cad29c793b44149ac0ace2c1e65bce.png#pic_center)
- PeriodIndex:
![在这里插入图片描述](https://img-blog.csdnimg.cn/093d79bfa2b443eda0cecccb875cfa36.png#pic_center)
- 综合练习:
@desc:数据中不同月份不同类型的电话的次数的变化情况(先添加新列,再设置时间索引,再分组,最后重新采样)
"""
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
df = pd.read_csv("./911.csv")
df["timeStamp"] = pd.to_datetime(df["timeStamp"])
temp_list = df["title"].str.split(": ").tolist()
cate_list = [i[0] for i in temp_list]
df["cate"] = pd.DataFrame(np.array(cate_list).reshape(df.shape[0],1))
df.set_index("timeStamp",inplace=True)
plt.figure(figsize=(20, 8), dpi=80)
for group_name,group_data in df.groupby(by="cate"):
count_by_month = group_data.resample("M").count()["title"]
_x = count_by_month.index
_y = count_by_month.values
_x = [i.strftime("%Y%m%d") for i in _x]
plt.plot(range(len(_x)),_y,label=group_name)
plt.xticks(range(len(_x)),_x,rotation=45)
plt.legend(loc="best")
plt.show()