以 3 为一组聚合数据框
Aggregating Dataframe in groups of 3
我有一个这样的 DataFrame :
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 行取平均值并得到一个新的 DataFrame,然后它比源 DataFrame 内所有 3 行集合的平均值短 3 倍。
将 groupby
和 mean
与旨在形成您需要的组的数组一起使用
df.groupby(np.arange(len(df)) // 3).mean()
我有一个这样的 DataFrame :
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 行取平均值并得到一个新的 DataFrame,然后它比源 DataFrame 内所有 3 行集合的平均值短 3 倍。
将 groupby
和 mean
与旨在形成您需要的组的数组一起使用
df.groupby(np.arange(len(df)) // 3).mean()