У меня есть сгруппированные серии, которые я хотел бы переместить и добавить в 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.