5
我的熊貓數據幀由一個類別列JOB_TITLE,數字列BASE_SALARY和日期時間指數JOIN_DATE的。我想在分類和下采樣日期時間的組如下執行聚合:在pandas數據框上同時操作groupby和resample?
# Resampled at frequency of start data of every 5 years
mean_agg = (df
.groupby('JOB_TITLE')
.resample('5AS')['BASE_SALARY']
.mean())
不幸的是,隨着GROUPBY操作重新採樣之前發生,重新採樣操作被獨立地爲每個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')
這將導致以下數據幀:
| 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 |
如何避免GROUPBY和重採樣的這個順序操作,而是進行同時操作?謝謝!
太棒了! 'pd.TimeGrouper()'對於我的問題是完美的。 –