У мене такий DataFrame:
usr1 usr2
2016-01-01 20 NaN
2016-01-02 13 12
2016-01-03 NaN 12
2016-01-04 NaN 23
2016-01-05 13 21
2016-01-06 20 NaN
2016-01-07 NaN 12
2016-01-08 NaN 23
2016-01-09 13 21
2016-01-10 20 NaN
. . .
. . .
індекс - це дата, і що я хочу зробити, це намагається отримати суму щотижня (період - 7 днів з понеділка по неділю), і результат буде таким:
usr1 usr2
week1 33 24
week2 13 12
week3 66 100
. . .
. . .
Як я можу досягти цієї мети?
Відповіді:
1 для відповіді № 1Ви можете використовувати .resample()
:
df.resample("W").sum()
Якщо ти не хочеш тримати його date_time
значення, які вказують, коли відбулися тижні, можна .reset_index(drop=True)
.
1 для відповіді № 2
Ще кілька статистичних даних
df.groupby(pd.TimeGrouper("W")).describe().dropna()