[問題] pandas塊狀(?)的運算
這問題實在不知道怎麼打在標題上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
02/22 10:01, 1F
不用sorry la 該轉的時候就要毫不猶豫的轉XD
推
02/22 18:13,
7年前
, 2F
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
02/23 09:50, 3F
→
02/24 00:25,
7年前
, 4F
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
03/06 04:41, 8F
Python 近期熱門文章
PTT數位生活區 即時熱門文章