区块链技术博客
www.b2bchain.cn

Day 37 : 重组时间序列,案例

这篇文章主要介绍了Day 37 : 重组时间序列,案例的讲解,通过具体代码实例进行20061 讲解,并且分析了Day 37 : 重组时间序列,案例的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=20061

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

Python 回忆录

  • 2020/11/14
    • 重组时间序列
    • 问题(处理空气质量数据)

2020/11/14

重组时间序列

运用PeriodIndex(year=df["columns"],month=df["columns"],day=df["columns"],hour=df["columns"],freq="H")可以把不同列里面的数据组合为一个时间序列,并且按照freq 的设定来分行。

问题(处理空气质量数据)

现有一个北京的空气质量数据,绘制出PM2.5随时间的变化情况
Day 37 : 重组时间序列,案例
可以看出来 数据中的时间被分为几列,这时候就需要用重组时间序列的方法
对于这道题的整体思路:

  1. 重组时间序列
  2. 时间序列变为索引
  3. 降采样(因为数据太多,显示不出来)
  4. 处理空白数据
  5. 画图(1时间序列转化为可读时间 2注意rotation)
# coding=utf-8 import pandas as pd from matplotlib import  pyplot as plt file_path = "./PM2.5/BeijingPM20100101_20151231.csv"  df = pd.read_csv(file_path)  #把分开的时间字符串通过periodIndex的方法转化为pandas的时间类型 period = pd.PeriodIndex(year=df["year"],month=df["month"],day=df["day"],hour=df["hour"],freq="H") df["datetime"] = period # print(df.head(10))  #把datetime 设置为索引 df.set_index("datetime",inplace=True)  #进行降采样 df = df.resample("7D").mean() print(df.head()) #处理缺失数据,删除缺失数据 # print(df["PM_US Post"])  data  =df["PM_US Post"] data_china = df["PM_Nongzhanguan"]  print(data_china.head(100)) #画图 _x = data.index _x = [i.strftime("%Y%m%d") for i in _x] _x_china = [i.strftime("%Y%m%d") for i in data_china.index] print(len(_x_china),len(_x_china)) _y = data.values _y_china = data_china.values   plt.figure(figsize=(20,8),dpi=80)  plt.plot(range(len(_x)),_y,label="US_POST",alpha=0.7) plt.plot(range(len(_x_china)),_y_china,label="CN_POST",alpha=0.7)  plt.xticks(range(0,len(_x_china),10),list(_x_china)[::10],rotation=45)  plt.legend(loc="best")  plt.show()  

本文转自互联网,侵权联系删除Day 37 : 重组时间序列,案例

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Day 37 : 重组时间序列,案例
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们