私のpandasデータフレームは、カテゴリ型の列JOB_TITLE、数値型の列BASE_SALARY、および日時インデックスJOIN_DATEで構成されています。私は次のようにカテゴリとダウンサンプリング日付時刻のグループ上で集計を実行したいと思います:GROUPBY操作はリサンプルの前に発生しているようパンダのデータフレームでのgroupbyとresampleの同時操作ですか?
# Resampled at frequency of start data of every 5 years
mean_agg = (df
.groupby('JOB_TITLE')
.resample('5AS')['BASE_SALARY']
.mean())
残念ながら、リサンプル操作は、各JOB_TITLEグループのために独立して行われます。これは、次のシリーズになり:
| JOB_TITLE | JOIN_DATE | |
|-------------------|------------|-------|
| Data Scientist | 2004-01-01 | 60000 |
| | 2009-01-01 | 75000 |
| | 2014-01-01 | 90000 |
| | | |
| Software Engineer | 2001-01-01 | 70000 |
| | 2006-01-01 | 85000 |
| | 2011-01-01 | 90000 |
| | 2016-01-01 | 85000 |
あなたが整列されていないデータ・サイエンティスト・グループおよびソフトウェアエンジニアのためのJOIN_DATEレベルでのインデックスを見ることができるように。これは次のようにレベルJOB_TITLE用スタックを解除適用問題を作成します。
mean_agg.unstack('JOB_TITLE')
これは、次のデータフレームになり:私はGROUPBYとリサンプルのこの一連の動作を避け、代わりに実行することができますどのように
| JOB_TITLE | Data Scientist | Software Engineer |
|------------|----------------|-------------------|
| JOIN_DATE | | |
| 2001-01-01 | NaN | 70000 |
| 2004-01-01 | 60000 | NaN |
| 2006-01-01 | NaN | 85000 |
| 2009-01-01 | 75000 | NaN |
| 2011-01-01 | NaN | 70000 |
| 2014-01-01 | 90000 | NaN |
| 2016-01-01 | NaN | 85000 |
同時の操作ですか?ありがとう!
素晴らしい! 'pd.TimeGrouper()'は私の問題に最適です。 –