1
pandas Dataframesの再サンプリング方法に関する質問があります。 は、私は一日一の観察とデータフレームを持っている:pandas特定の日付のデータフレームを再サンプリングする
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(366, 1)), columns=list('A'))
df.index = pd.date_range(datetime.date(2016,1,1),datetime.date(2016,12,31))
私は毎月のための和(または他の)を計算したい場合は、私が直接行うことができます。
EOM_sum = df.resample(rule="M").sum()
しかし、私は特定のを持っていますカレンダー(不規則な周波数):私は、各期間の合計を計算する場合
import datetime
custom_dates = pd.DatetimeIndex([datetime.date(2016,1,13),
datetime.date(2016,2,8),
datetime.date(2016,3,16),
datetime.date(2016,4,10),
datetime.date(2016,5,13),
datetime.date(2016,6,17),
datetime.date(2016,7,12),
datetime.date(2016,8,11),
datetime.date(2016,9,10),
datetime.date(2016,10,9),
datetime.date(2016,11,14),
datetime.date(2016,12,19),
datetime.date(2016,12,31)])
は、私は現在、各列が属する期間の終わり、およびpとdfをするための一時的な列を追加しますグループで操作を実行してください:
df["period"] = custom_dates[custom_dates.searchsorted(df.index)]
custom_sum = df.groupby(by=['period']).sum()
しかし、これはかなり汚れていて、pythonicに見えません。パンダでこれを行う組み込みメソッドはありますか? ありがとうございます。 lenght
df
のようlength
が同じであるため、NWの列を作成する
新しい列は必要ではありません.'custom_sum = df.groupby(custom_dates [custom_dates.searchsorted(df.index)])。sum() ' – jezrael
パンダのリサンプリング方法は、ある種の使用したメソッドは正しいアプローチです。追加された列をスキップしたことについての上記の@jezraelの回答を参照してください。 – James
「resample」メソッドに非常に近いので、Pandasには何もありません。 – JMat