[問題] pandas塊狀(?)的運算

看板Python作者 (金色小黃花)時間7年前 (2018/02/21 22:41), 7年前編輯推噓3(305)
留言8則, 6人參與, 7年前最新討論串1/1
這問題實在不知道怎麼打在標題上QQ 想要達成夾在中間的column如果連續5次為同一個值就用相鄰的兩個column做平均補值 並且假設不會連續兩個column都發生這個情形 例子如下, 假設我有一個dataframe如: colA colB colC colD 1 1 2 1 0 2 2 0 1 1 3 1 1 1 1 4 2 2 1 2 5 1 3 1 1 6 1 2 2 2 7 2 2 2 2 8 . . . . 9 . . . . 10 . . . . 首先看colA, colB, colC, 發現colB不用補值 接下來看colB, colC, colD, 發現colC前五個需要補值為1, 0.5, 1, 2, 2 然後index 6-10也做一樣的檢查, 依此類推 雖然用for很容易處理 但是各位也知道pandas的for奇慢無比 所以想問問有沒有不用用到for就能處理的寫法 如果無法的話最後的方法大概就是轉成numpy array再去寫了XD 先感謝各位pandas高手了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.215.35 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1519224084.A.897.html ※ 編輯: goldflower (140.113.215.35), 02/21/2018 23:05:24 ※ 編輯: goldflower (140.113.215.35), 02/21/2018 23:53:39

02/22 10:01, 7年前 , 1F
我覺得轉numpy比較好 sorry沒回答到問題
02/22 10:01, 1F
不用sorry la 該轉的時候就要毫不猶豫的轉XD

02/22 18:13, 7年前 , 2F
試試看rolling?
02/22 18:13, 2F
喔喔 這說不定有用 rolling+apply應該能解掉 我後來是想到合併column後用Grouper + aggregate大概能處理 但是rolling似乎比較好的感覺 待會來測測看@@ 感謝 ※ 編輯: goldflower (140.113.215.35), 02/22/2018 21:09:16

02/23 09:50, 7年前 , 3F
你的資料是檢查index 1-5,6-10,11-15...還是1-5,2-6,3-7...
02/23 09:50, 3F

02/24 00:25, 7年前 , 4F
是後者 所以才覺得rolling似乎更好 太廢惹QQ
02/24 00:25, 4F

03/06 03:39, 7年前 , 5F
03/06 03:39, 5F

03/06 04:17, 7年前 , 6F
03/06 04:17, 6F

03/06 04:30, 7年前 , 7F
03/06 04:30, 7F

03/06 04:41, 7年前 , 8F
文章代碼(AID): #1QZOKKYN (Python)
文章代碼(AID): #1QZOKKYN (Python)