0
我有以下形式的熊貓數據幀:重組GROUPBY rollling總和與原始大熊貓數據幀
import pandas as pd
df = pd.DataFrame({
'a': [1,2,3,4,5,6],
'b': [0,1,0,1,0,1]
})
欲組由「B」的值的數據,並添加新的列「C」,其包含一個爲每個組滾動總和'a',然後我想將所有組重新組合成一個包含'c'列的未分組的DataFrame。只要我有:
for i, group in df.groupby('b'):
group['c'] = group.a.rolling(
window=2,
min_periods=1,
center=False
).sum()
但有幾個問題,這種方法:
使用for循環感覺像它將會是一個的大數據幀緩慢各組工作(像我的實際數據)
我找不到一個優雅的方式來保存每個組的列'c'並將其添加回原始的DataFrame。我可以將每個組的c追加到一個數組,然後用一個類似的索引數組來壓縮它,但是這看起來很詭異。有沒有我在這裏失蹤的內置熊貓方法?
你可以直接做到這一點:FYI http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#groupby-syntax-with-window-和重採樣操作(雖然我認識到沒有記錄,除了在whatsnew) – Jeff
,如果有人想要提高文檔:https://github.com/pandas-dev/pandas/issues/14759 – Jeff