dataframe转化为array_数据分析-pandas之DataFrame时间序列2

现在我们有2015到2017年25万条911的紧急电话的数据,请,如果我们还想统计出不同月份不同类型紧急电话的次数的变化情况,应该怎么做呢?

数据来源:
https://www.kaggle.com/mchirico/montcoalert/data

问题2:统计出911数据中不同月份电话次数的变化情况

不管在什么行业,时间序列都是一种非常重要的数据形式,很多统计数据以及数据的规律也都和时间序列有着非常重要的联系,而且在pandas中处理时间序列是非常简单

生成一段时间范围

pd.date_range(start=None, end=None, periods=None, freq='D')

start表示开始的时间, end表示结束的时间,,periods时间段, freq频率,比如按天,月,年划分

start和end以及freq配合能够生成start和end范围内以频率freq的一组时间索引

start和periods以及freq配合能够生成从start开始的频率为freq的periods个时间索引

002a2e55bc683424016b6ef2b86b91af.png

freq的值

1dc6581e48cf6b76d48ebdc2198f538e.png

在DataFrame中使用时间序列

index=pd.date_range("20170101",periods=10)

df = pd.DataFrame(np.random.rand(10),index=index)

回到最开始的911数据的案例中,我们可以使用pandas提供的方法把时间字符串转化为时间序列

df["timeStamp"] = pd.to_datetime(df["timeStamp"],format="")

format参数大部分情况下可以不用写,但是对于pandas无法格式化的时间字符串,我们可以使用该参数,比如包含中文 参考:https://www.runoob.com/python3/python3-date-time.html

重采样

重采样:指的是将时间序列从一个频率转化为另一个频率进行处理的过程,将高频率数据转化为低频率数据为降采样,低频率转化为高频率为升采样

pandas提供了一个resample的方法来帮助我们实现频率转化

8cd82bb170293dd63fa96a5b9c6c4109.png
import pandas as pdimport numpy as npfrom matplotlib import pyplot as py#让head方法把所有列全部显示出来pd.set_option('display.max_columns', None)filepath="./911.csv"df=pd.read_csv(filepath)#时间字符串转化为时间序列df["timeStamp"] = pd.to_datetime(df["timeStamp"])#把时间戳当作索引df.set_index("timeStamp",inplace=True)# print(df)#按照月份分组聚合,再随便取一列结果count_month=df.resample("M").count()['title']print(count_month)#设置x,y轴的内容x=count_month.indexy=count_month.values#设计图片大小py.figure(figsize=(20,8),dpi=80)#绘图py.plot(range(len(x)),y)#刻度py.xticks(range(len(x)),x,rotation=45)#展示图形py.show()

结果显示的小时,分钟,秒时间,这不是我们想要的,那就要对x修改了

9e838d4e39b85a9d4dfd09a4619466b7.png

x=count_month.index代码后再加一行代码:x=[i.strftime('%Y%m%d') for i in x],起到格式化的作用

6dac31cacc7276c02ed13ed55fbeeb10.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值