python數(shù)據(jù)處理——對(duì)pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例
這里首先要介紹官方文檔,對(duì)python有了進(jìn)一步深度的學(xué)習(xí)的大家們應(yīng)該會(huì)發(fā)現(xiàn),網(wǎng)上不管csdn或者簡書上還是什么地方,教程來源基本就是官方文檔,所以英語只要還過的去,推薦看官方文檔,就算不夠好,也可以只看它里面的sample就夠了
好了,不說廢話,看我的代碼:
import pandas as pdimport numpy as nprng = pd.date_range(’20180101’, periods=40)ts = pd.Series(np.arange(1,41), index=rng)#這一行和上一行生成了一個(gè)index為時(shí)間,一共40天的數(shù)據(jù)ts_m = ts.resample(’M’).asfreq()#對(duì)數(shù)據(jù)進(jìn)行按月重采樣,之后再asfreq()print(ts)print(ts_m)
tips:因?yàn)榘l(fā)生了一些事,所以沒有寫完這部分先這樣吧,后面我再補(bǔ)全
結(jié)果在下面,大家看按照月度‘M’采樣,會(huì)抓取到月末的數(shù)據(jù),1月31日和2月28日,嗯,后面的asfreq()是需要的,不然返回的就只是一個(gè)resample對(duì)象,當(dāng)然除了M以外,也可以自己進(jìn)行隨意的設(shè)置頻率,比如說‘3M’三個(gè)月,‘5T’五分鐘,‘30S’三十秒,更多精彩內(nèi)容請(qǐng)多多查看文檔
2018-01-07 72018-01-08 82018-01-09 92018-01-10 102018-01-11 112018-01-12 122018-01-13 132018-01-14 142018-01-15 152018-01-16 162018-01-17 172018-01-18 182018-01-19 192018-01-20 202018-01-21 212018-01-22 222018-01-23 232018-01-24 242018-01-25 252018-01-26 262018-01-27 272018-01-28 282018-01-29 292018-01-30 302018-01-31 312018-02-01 322018-02-02 332018-02-03 342018-02-04 352018-02-05 362018-02-06 372018-02-07 382018-02-08 392018-02-09 40Freq: D, dtype: int322018-01-31 31.02018-02-28 NaNFreq: M, dtype: float64
至于這個(gè)asfreq(),用法是這樣的:
# to 45 minute frequency and forward fillIn [5]: converted = ts.asfreq(’45Min’, method=’pad’) In [6]: converted.head()Out[6]: 2011-01-01 00:00:00 0.4691122011-01-01 00:45:00 0.4691122011-01-01 01:30:00 -0.2828632011-01-01 02:15:00 -1.5090592011-01-01 03:00:00 -1.135632Freq: 45T, dtype: float64
然后既然有下采樣,那就要有插值了,插值的用法如下所示:
這個(gè)是線性插值,當(dāng)然還有向前填充(.bfill())向后填充(.pad())的,可以還看這個(gè)官方文檔啦,官方文檔就是好
>>> s = pd.Series([0, 1, np.nan, 3])>>> s.interpolate()0 01 12 23 3dtype: float64
以上這篇python數(shù)據(jù)處理——對(duì)pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. django queryset相加和篩選教程2. Java PreparedStatement用法詳解3. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟4. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算5. IDEA 2020.1.2 安裝教程附破解教程詳解6. JS圖片懶加載庫VueLazyLoad詳解7. idea設(shè)置提示不區(qū)分大小寫的方法8. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)9. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝10. IntelliJ IDEA導(dǎo)出項(xiàng)目的方法

網(wǎng)公網(wǎng)安備