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

作者: goldflower (金色小黃花)   2018-02-21 22:41:20
這問題實在不知道怎麼打在標題上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高手了
作者: TitanEric (泰坦)   2018-02-22 10:01:00
我覺得轉numpy比較好 sorry沒回答到問題
作者: iphone2003 (307)   2018-02-22 18:13:00
試試看rolling?
作者: vfgce (小兵)   2018-02-23 09:50:00
你的資料是檢查index 1-5,6-10,11-15...還是1-5,2-6,3-7...
作者: goldflower (金色小黃花)   2018-02-24 00:25:00
是後者 所以才覺得rolling似乎更好 太廢惹QQ
作者: ar54971   2018-03-06 03:39:00

Links booklink

Contact Us: admin [ a t ] ucptt.com