pandas resampling関数については、DateTimeIndexを使用して知っています。Pandas DataFrame:n要素のグループによる整数インデックス/グループ分けによるリサンプリング
しかし、整数インデックスに沿ってどのように簡単に再サンプリング/グループ化できますか?
次のコードは、問題を示していると動作します:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(5, size=(10, 2)), columns=list('AB'))
print(df)
A B
0 3 2
1 1 1
2 0 1
3 2 3
4 2 0
5 4 0
6 3 1
7 3 4
8 0 2
9 4 4
# sum of n consecutive elements
n = 3
tuples = [(i, i+n-1) for i in range(0, len(df.index), n)]
df_new = pd.concat([df.loc[i[0]:i[1]].sum() for i in tuples], 1).T
print(df_new)
A B
0 4 4
1 8 3
2 6 7
3 4 4
しかし、そこにこれを実現するために、よりエレガントな方法ではないでしょうか?
コードが少し重いようです。
ありがとうございます!
https://stackoverflow.com/questions/37396264/pandas-equivalent-of-resample-for-integer-indexこれはあなたの問題を解決するかどうか確認してください:床で
len
DataFrame
のによって作成されたnumpy.arange
を割りました。今はテストする方法はありませんが、後でインデックスをリセットする必要があります。 :) – Manhattan私自身のアプローチはすでに簡単だと思う;-)。とにかくありがとう! –