用定時(shí)器做,1秒鐘喚醒一次響應(yīng)函數(shù),不要用延時(shí)函數(shù) sleep
創(chuàng)新互聯(lián)建站專注于柘城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供柘城營銷型網(wǎng)站建設(shè),柘城網(wǎng)站制作、柘城網(wǎng)頁設(shè)計(jì)、柘城網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造柘城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供柘城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
# 定義時(shí)間顯示
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.act_displayTM) #綁定響應(yīng)函數(shù)
self.timer.setInterval(1000) #設(shè)置時(shí)間間隔
self.timer.start()
# 定時(shí)響應(yīng)事件對應(yīng)邏輯
def act_displayTM(self):
s_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
self.ui.label_Date.setText(s_time)
return
處理過與時(shí)間有關(guān)的數(shù)據(jù)的人都知道,差分變化經(jīng)常用來使得結(jié)果更加直觀。在這篇文章里將會(huì)教你如何用Python來實(shí)現(xiàn)這一目的,讀完這篇文章,你將會(huì)掌握以下技能:
1、知道什么是差分變換以及滯后差分和差分階數(shù)的設(shè)置
2、如何手動(dòng)計(jì)算差分
3、怎樣使用Pandas內(nèi)置的差分函數(shù)
所以,讓我們趕緊開始吧!
為什么要對時(shí)間序列數(shù)據(jù)進(jìn)行差分?
首先來看下為什么要對數(shù)據(jù)進(jìn)行差分變化,差分變化可以消除數(shù)據(jù)對時(shí)間的依賴性,也就是降低時(shí)間對數(shù)據(jù)的影響,這些影響通常包括數(shù)據(jù)的變化趨勢以及數(shù)據(jù)周期性變化的規(guī)律。進(jìn)行差分操作時(shí),一般用現(xiàn)在的觀測值減去上個(gè)時(shí)刻的值就得到差分結(jié)果,就是這么簡單,按照這種定義可以計(jì)算一系列的差分變換。
滯后差分
連續(xù)觀測值之間的差分變換叫做一階滯后差分。滯后差分的步長需要根據(jù)數(shù)據(jù)的時(shí)間結(jié)構(gòu)做調(diào)整,例如對于周期性變化的數(shù)據(jù),這個(gè)時(shí)間步長就是數(shù)據(jù)變化的周期。
差分階數(shù)
在進(jìn)行一次差分之后,時(shí)間項(xiàng)的作用并沒有完全去掉,將會(huì)繼續(xù)對差分結(jié)果進(jìn)行差分變化,直到完全消除時(shí)間項(xiàng)的影響因素為止,這個(gè)過程中進(jìn)行的差分操作次數(shù)就稱為差分階數(shù)。
洗發(fā)水銷售數(shù)據(jù)
這份數(shù)據(jù)是三年來每月洗發(fā)水的銷售情況,總共有36個(gè)數(shù)據(jù)記錄,原始數(shù)據(jù)來自Makridakis, Wheelwright和 Hyndman (1998).,可以從下面的地址下到數(shù)據(jù):
下面的代碼將會(huì)導(dǎo)入數(shù)據(jù)并將結(jié)果畫成折線圖,如下所示:
手動(dòng)差分
在這一部分中,我們將會(huì)自定義一個(gè)函數(shù)來實(shí)現(xiàn)差分變換,這個(gè)函數(shù)將會(huì)對提供的數(shù)據(jù)進(jìn)行遍歷并根據(jù)指定的時(shí)間間隔進(jìn)行差分變換。具體代碼如下:
從上面的代碼中可以看到該函數(shù)將會(huì)根據(jù)指定的時(shí)間間隔來對數(shù)據(jù)進(jìn)行變換,一般來說,通常會(huì)計(jì)算間隔一個(gè)數(shù)據(jù)的差分,這樣的結(jié)果比較可靠。當(dāng)然,我們也可以將上面的函數(shù)進(jìn)行一定的改進(jìn),加入差分階數(shù)的指定。
下面將這函數(shù)應(yīng)用到上面洗發(fā)水銷售的數(shù)據(jù)中去,運(yùn)行之后繪出下面的圖,具體如下:
自動(dòng)差分
Pandas庫里提供了一個(gè)函數(shù)可以自動(dòng)計(jì)算數(shù)據(jù)的差分,這個(gè)函數(shù)是diff(),輸入的數(shù)據(jù)是“series'或”DataFrame'類型的,像前面自定義函數(shù)那樣,我們也可以指定差分的時(shí)間間隔,不過在這里這個(gè)參數(shù)叫做周期。
下面的例子是用Pandas內(nèi)置函數(shù)來計(jì)算差分的,數(shù)據(jù)類型是series的,使用Pandas內(nèi)置函數(shù)的好處是代碼工作量減少了不少,而且繪出的圖中包含更詳細(xì)的信息,具體效果如下:
總結(jié)
讀完本文想必你已經(jīng)學(xué)會(huì)用python來實(shí)現(xiàn)對數(shù)據(jù)的差分了,尤其是對差分的概念,手動(dòng)差分,以及使用Pandas內(nèi)置函數(shù)進(jìn)行差分都有所了解了。如果有什么好的想法歡迎在評論欄里留下。
手動(dòng)的方法做ARDL是不太可能的,n和m較多,比哪n=m=3,就需要算4*4=16個(gè)模型,如果再多幾個(gè)x,少說要也成百上千,所以做這個(gè)一般用microfit或者Eviews .不過STATA可能用專用的ARDL命令,我還沒見過而已。
看了你發(fā)的函數(shù):
def Wait(self):
self._app.MainLoop()
看名字應(yīng)該是啟動(dòng)了阻塞循環(huán),去處理app的請求,這個(gè)就是需要一直運(yùn)行的,因?yàn)橐坏┩V沽耍愕腶pp請求就沒發(fā)處理了。
如果你需要啟動(dòng)后再執(zhí)行的別的程序,可以使用多進(jìn)程,把這個(gè)啟動(dòng)放在別的進(jìn)程里去執(zhí)行。
如果解決了您的問題請采納!
如果未解決請繼續(xù)追問
網(wǎng)站欄目:python滯后函數(shù),python延遲執(zhí)行
URL地址:http://jinyejixie.com/article18/dssisdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、定制網(wǎng)站、服務(wù)器托管、做網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)