[問題] dataframe resample後的資料處理已刪文

看板Python作者 (Observer)時間6年前 (2019/06/10 23:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好,新手想來請教一下pandas資料處理的問題 m(_ _)m 下面是我用來舉例的code: =========================================================== import pandas as pd array = [['2019-6-5',1],['2019-6-6',2],['2019-6-10',3]] df = pd.DataFrame(array, columns=['date','value']) df.date = pd.to_datetime(df.date) df.set_index('date',inplace=True) df2 = df.resample('6H').asfreq() =========================================================== 如此得到的原始資料DF,和切細四倍resample過後的df2如下 df: value date 2019-06-05 1 2019-06-06 2 2019-06-10 3 df2: value date 2019-06-05 00:00:00 1.0 2019-06-05 06:00:00 NaN 2019-06-05 12:00:00 NaN 2019-06-05 18:00:00 NaN 2019-06-06 00:00:00 2.0 2019-06-06 06:00:00 NaN 2019-06-06 12:00:00 NaN 2019-06-06 18:00:00 NaN 2019-06-07 00:00:00 NaN 2019-06-07 06:00:00 NaN 2019-06-07 12:00:00 NaN 2019-06-07 18:00:00 NaN 2019-06-08 00:00:00 NaN 2019-06-08 06:00:00 NaN 2019-06-08 12:00:00 NaN 2019-06-08 18:00:00 NaN 2019-06-09 00:00:00 NaN 2019-06-09 06:00:00 NaN 2019-06-09 12:00:00 NaN 2019-06-09 18:00:00 NaN 2019-06-10 00:00:00 3.0 -------------------------------------------------------- 可以看到切細的單位是6H,所以把原本沒有資料的6/7~6/9也一起切進去了 我想請問的是,要怎麼只得到最終6/5、6/6、6/10這三天有資料的resample呢? 希望得到如下的結果: 2019-06-05 00:00:00 1.0 2019-06-05 06:00:00 NaN 2019-06-05 12:00:00 NaN 2019-06-05 18:00:00 NaN 2019-06-06 00:00:00 2.0 2019-06-06 06:00:00 NaN 2019-06-06 12:00:00 NaN 2019-06-06 18:00:00 NaN 2019-06-10 00:00:00 3.0 簡單說就是原始資料不包含休假日,希望resample也不包含休假日 實際要做的原始資料數量有幾十萬筆,沒辦法一行一行刪 想請問有沒有辦法處理呢?感激不盡 m(_ _)m 直覺感覺好像有解,但是新手不熟悉,翻了好幾天都找不太到 只好直接來請問各位了,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.27.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1560182397.A.9EF.html
文章代碼(AID): #1S_dvzdl (Python)
文章代碼(AID): #1S_dvzdl (Python)