[问题] 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