欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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學習筆記之lambda表達式用法詳解

    Python學習筆記之lambda表達式用法詳解

    這篇文章主要介紹了Python學習筆記之lambda表達式用法,結合實例形式詳細分析了lambda表達式的概念、功能、原理、組成及相關使用技巧,需要的朋友可以參考下
    2019-08-08
  • python開根號實例講解

    python開根號實例講解

    在本篇文章里小編給大家整理的是關于python開根號實例講解內容,有需要的朋友們可以參考下。
    2020-08-08
  • pygame實現雷電游戲雛形開發(fā)

    pygame實現雷電游戲雛形開發(fā)

    這篇文章主要為大家詳細介紹了pygame實現雷電游戲開發(fā)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python字典查找數據的5個基礎操作方法

    Python字典查找數據的5個基礎操作方法

    Python字典是另一種可變容器模型,且可存儲任意類型對象,如字符串、數字、元組等其他容器模型,下面這篇文章主要給大家介紹了關于Python字典查找數據的5個基礎操作方法,需要的朋友可以參考下
    2022-06-06
  • python 字典(dict)按鍵和值排序

    python 字典(dict)按鍵和值排序

    下面小編就為大家?guī)硪黄猵ython 字典(dict)按鍵和值排序。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python手拉手教你爬取貝殼房源數據的實戰(zhàn)教程

    Python手拉手教你爬取貝殼房源數據的實戰(zhàn)教程

    隨著人工智能的不斷發(fā)展,機器學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容,了解python爬蟲,本文給大家分享Python爬取貝殼房源數據的實戰(zhàn)教程,感興趣的朋友一起學習吧
    2021-05-05
  • Python使用pandas導入csv文件內容的示例代碼

    Python使用pandas導入csv文件內容的示例代碼

    這篇文章主要介紹了Python使用pandas導入csv文件內容,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • 使用Django啟動命令行及執(zhí)行腳本的方法

    使用Django啟動命令行及執(zhí)行腳本的方法

    今天小編就為大家分享一篇使用Django啟動命令行及執(zhí)行腳本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python Pygame實戰(zhàn)之打地鼠小游戲

    Python Pygame實戰(zhàn)之打地鼠小游戲

    Pygame庫是專門為了幫助做出的游戲和其他多媒體應用Python編程語言的一個開放源代碼模塊。本文將利用Pygame模塊制作一個打地鼠的小游戲,快跟隨小編一起學習一下吧
    2022-01-01
  • Python實用技巧之輕松處理大型文件

    Python實用技巧之輕松處理大型文件

    Python在文件處理方面提供了非常強大的支持,然而,當處理大型文件時,標準的文件處理技術會導致高內存使用,所以下面我們就來看看如何在Python中有效地處理大型文件吧
    2024-03-03

最新評論