2017-07-03 35 views
5

组我有这样一个数据帧:集结数据帧中的3

  date  open  high   low  close  vwap 
0 1498907700 0.00010020 0.00010020 0.00009974 0.00010019 0.00009992 
1 1498908000 0.00010010 0.00010010 0.00010010 0.00010010 0.00010010 
2 1498908300 0.00010010 0.00010010 0.00009957 0.00009957 0.00009992 
3 1498908600 0.00009957 0.00009957 0.00009957 0.00009957 0.00000000 
4 1498908900 0.00010009 0.00010009 0.00009949 0.00009959 0.00009952 
5 1498909200 0.00009987 0.00009991 0.00009956 0.00009956 0.00009974 
6 1498909500 0.00009948 0.00009948 0.00009915 0.00009915 0.00009919 
... 
789 

,想做好每3行的平均,有一个新的数据帧,然后将其缩短为平均3倍源DataFrame内的所有3行。

回答

7

使用groupbymean与设计的阵列,形成你需要

df.groupby(np.arange(len(df)) // 3).mean() 
+0

组那么,如果没有足够的行以适合的3组?第一个是4/5还是最后一个?我怎么能成为第一批获得'孤儿'的组织呢? –

+1

@MaximeB反转数组np.arange(len(df))[:: - 1] // 3 – piRSquared

+0

非常感谢!我需要比我在这里问的更多...也许你可以帮助我:https://stackoverflow.com/questions/44895459/yield-and-do-operations-on-each-3-rows-of-数据帧 –