1
下記の***
と記された線を最適化するために使用できる、パンダ(またはNumPy?)への組み込み集約はありますか?集約のためのパンダの組み込み
>>> import numpy as np
>>> import pandas as pd
>>>
>>> df = pd.DataFrame({'A':[1,21,4,5,3,3,5,653,2], 'B':[1,2,3,4,5,6,7,8,9]})
>>> steps = 3
>>>
>>> values = df.iloc[:,0]
>>> current = values[-steps:]
>>> old = values[:-steps]
*** >>> mean = np.array([old[i::steps].mean() for i in range(steps)]) ***
>>> df.iloc[-steps:,0] = current - mean
>>> df1 = df.iloc[-steps:]
>>> df1
A B
6 2.0 7
7 641.0 8
8 -1.5 9
私が探していたものは、きれいなソリューションです。 –
シェイプが 'steps'で簡単に分割できないときは、' ValueError:サイズ3025の配列をシェイプ(1008)に変形できません 'というエラーが表示されます。 'steps'を整列させるまで、配列に最初の値を追加する簡単な方法を知っていますか? –
@JonasByströmそのための1つのソリューションを追加しました。他の方法もありますが、投稿されたものはそのようなケースを処理するための最短のようです。 – Divakar