Сдвиг сгруппированных рядов в пандах - PullRequest
0 голосов
/ 10 октября 2018

У меня есть сгруппированные серии, которые я хотел бы переместить и добавить в DF.Сгруппированная серия выглядит следующим образом:

month  day  hour_dep  origin
1      1    5         LGA       1
            6         EWR       4
                      JFK       2
                      LGA       4
            7         EWR       4

Когда я сдвигаю эту серию (test_series.shift (1)), я получаю

month  day  hour_dep  origin
1      1    5         LGA       NaN
            6         EWR       1.0
                      JFK       4.0
                      LGA       2.0
            7         EWR       4.0

Что я хочу:

month  day  hour_dep  origin
1      1    5         LGA       NaN
            6         EWR       NaN
                      JFK       NaN
                      LGA       1.0
            7         EWR       4.0

Т.е. сдвинуть все наблюдения с предыдущего часа на следующий.

Спасибо за помощь!

Некоторый код для простого воспроизведения этой структуры данных:

np.random.seed(2)
test_df = pd.DataFrame(np.random.randint(0, 5, size=[2000,5]), columns=['Month', 'Day', 'Hour', 'Type', 'Test'])

test_series = test_df.groupby(['Month', 'Day', 'Hour', 'Type']).sum().head(10)['Test']

print(test_series)

print(test_series.shift(1)) # Observations in hour 1 do not correspond to the observations in hour 0. Observations in hour 0 should be NaN.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...