最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python時間序列缺失值的處理方法(日期缺失填充)

 更新時間:2019年08月11日 14:12:09   作者:Leo_Sheng  
這篇文章主要給大家介紹了關于Python時間序列缺失值(日期缺失填充)的處理方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

因近期進行時間序列分析時遇到了數據預處理中的缺失值處理問題,其中日期缺失和填充在網上沒有找到較好較全資料,耗費了我一晚上工作時間,所以下面我對這次時間序列缺失值處理學習做了以下小結以供之后同行們參考指正。

時間序列缺失值處理

一、編程前準備

收集時間序列數據,相信看這篇博客的各位已經完成了這步。

需要安裝pandas模塊,并利用Python的Lib文件夾自帶的datetime庫(當時我因為在Pycharm環(huán)境中沒看到datetime模塊又去安裝了DateTime模塊并看了DateTime英文文檔,發(fā)現這個對象的參數并不能滿足時間序列缺失填充的需求,所以又下了datetime2模塊,在import  datetime2時發(fā)現Python自帶datetime庫,血虐啊,真是對菜鳥不要太善良)。

二、編程與講解

因為我的數據不是普遍形式的時間序列形式,而下面程序是我按普遍形式時間序列數據改編的,與我數據不適用,所以可能存在問題,但是程序所用步驟和程序原理都是與原程序相同,對于初步接觸的同行具有一定的借鑒和參考意義。

import pandas as pd
import datetime
def load_Data():
  #加載數據
  df0 = pd.read_csv("Path/power.csv",index_col='user_id')
  df0['record_date'] = pd.to_datetime(df0['record_date'])
  return df0
 
#把datetime轉成字符串
def datetime_toString(dt):
  return dt.strftime("%Y-%m-%d")
 
#把字符串轉成datetime
def string_toDatetime(string):
  return datetime.strptime(string, "%Y-%m-%d")
 
#缺失值處理,插值替換
def data_Full():
  df1 = load_Data()  #加載數據
  date_start = df1.iloc[0, 0] #初始時間
  df1_date = df1['record_date'].tolist() #數據日期轉為列表
  df1_data = df1[ 'value'].tolist()  #數據值轉為列表
  act = 365    #實際期望日期序列長度
  for j in range(0, len(df1_date)):
    if len(df1_date) < act:
      date0 = date_start
      date_s = datetime_toString(date0)  #日期轉換為字符串類型,使日期可進行邏輯比較
      date_i = df1_date[j]  #順序選取數據中日期列表里對應各日期
      date_is = datetime_toString(date_i)
      while date_is != date_s:  #如數據中日期列表與期望日期序列不相等,即存在缺失值執(zhí)行while程序
        nada = (df1_data[j] + df1_data[j+1]) / 2  #計算缺失處左右相鄰插值
        adda = [date0, nada]  
        date_da = pd.DataFrame(adda).T
        date_da.columns = df1.columns
        df1 = pd.concat([df1, date_da]) #將缺失日期加入數據列表中
        date0 += datetime.timedelta(days=1) #日期加一
        date_s = datetime_toString(date0)  #日期字符串轉日期時間類型
      date0 += datetime.timedelta(days=1) #日期加一
      date_s = datetime_toString(date0)  #日期字符串轉日期時間類型
  df1 = df1.sort_values(by=['record_date'])
  return df1

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • Python編程實現超炫動態(tài)排序圖

    Python編程實現超炫動態(tài)排序圖

    這篇文章主要介紹了Python編程實現超炫動態(tài)排序圖的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Python判斷兩個list是否是父子集關系的實例

    Python判斷兩個list是否是父子集關系的實例

    今天小編就為大家分享一篇Python判斷兩個list是否是父子集關系的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python中的布爾類型bool

    Python中的布爾類型bool

    這篇文章主要為大家介紹了Python中的布爾類型bool使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • python pdfkit 中文亂碼問題的解決方案

    python pdfkit 中文亂碼問題的解決方案

    這篇文章主要介紹了python pdfkit 中文亂碼問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 2款Python內存檢測工具介紹和使用方法

    2款Python內存檢測工具介紹和使用方法

    這篇文章主要介紹了2款Python內存檢測工具介紹和使用方法,可以用來分析Python程序的內存使用量,需要的朋友可以參考下
    2014-06-06
  • Python中__init__方法使用的深度解析

    Python中__init__方法使用的深度解析

    在Python的面向對象編程(OOP)體系中,__init__方法如同建造房屋時的"奠基儀式"——它定義了對象誕生時的初始狀態(tài),下面我們就來深入了解下__init__方法吧
    2025-04-04
  • OpenCV半小時掌握基本操作之直方圖

    OpenCV半小時掌握基本操作之直方圖

    這篇文章主要介紹了OpenCV基本操作之直方圖,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • opencv?傅里葉變換的實現

    opencv?傅里葉變換的實現

    本文主要介紹了opencv?傅里葉變換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2022-06-06
  • 將keras的h5模型轉換為tensorflow的pb模型操作

    將keras的h5模型轉換為tensorflow的pb模型操作

    這篇文章主要介紹了將keras的h5模型轉換為tensorflow的pb模型操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python如何發(fā)送帶有附件、正文為HTML的郵件

    python如何發(fā)送帶有附件、正文為HTML的郵件

    這篇文章主要介紹了python如何發(fā)送帶有附件、正文為HTML的郵件,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-02-02

最新評論

唐河县| 涿州市| 玛纳斯县| 乐平市| 酒泉市| 乌审旗| 辽阳市| 台南市| 那曲县| 勃利县| 台山市| 丰顺县| 松原市| 玉门市| 巫山县| 铁力市| 兴化市| 宝兴县| 开封县| 莱芜市| 桃园市| 石首市| 巴马| 汝南县| 临潭县| 南丹县| 天水市| 湘阴县| 肃南| 铅山县| 固原市| 天镇县| 京山县| 衡阳县| 白水县| 鸡西市| 平邑县| 安溪县| 婺源县| 鞍山市| 柘荣县|