0
私はマルチインデックスと、次のデータフレームを持っている:)(ローリング使用したマルチインデックスデータフレームをパンダに新しい列を追加し、最大()
dates = pd.date_range(start='2016-01-01 09:30:00', periods=20, freq='s')
df = pd.DataFrame({'A': [1] * 20 + [2] * 12 + [3] * 8,
'B': np.concatenate((dates, dates)),
'C': np.arange(40)})
df = df.set_index(["B","A"])
は、今私は、最大値である新しい列を作成したいですインデックスAの最後の二つの値は、私は、次の試み:
df.loc[:,"D"] = df.groupby(level="A").rolling(2).max()
しかし、グループ化されたデータフレームのインデックスの順序が、元の反対であるので、それだけで、新しい列(「D)のためにN/Aを生成しますデータフレーム。
どうすればこの問題を解決できますか?私は大きいデータフレームを持っているので、スタッキング/アンスタッキング、スワップレベル/ソートレベル、結合または連結から遠ざかり、これらの操作はかなり時間がかかる傾向があります。