Я делаю groupby
и rolling
для dataframe
.
Если у меня более 1 группы, результат равен pandas series
, но если у меня только 1 группа, то результат это pandas dataframe
. Я повторил это ниже, если вам нужно посмотреть, что я делаю.
Есть ли способ заставить pandas возвращать серию каждый раз, даже если есть только одна группа?
Если вы хотите sh воссоздать то, что я вижу, вы можете запустить следующие примеры.
Пример 1 (Серия):
df = pd.DataFrame(data={'Name':['John', 'John', 'John', 'Jill', 'Jill', 'Jill', 'Jill'],'Score':[1,1, 1,2,2, 2, 2]})
df.groupby('Name', as_index=False, sort=False)['Score'].rolling(2,min_periods=0).sum()
Пример 2 (кадр данных):
df = pd.DataFrame(data={'Name':['John', 'John', 'John', 'John', 'John', 'John', 'John'],'Score':[1,1, 1,2,2, 2, 2]})
df.groupby('Name', as_index=False, sort=False)['Score'].rolling(2,min_periods=0).sum()