Временные ряды Pandas заменяют выходные одним значением, полученным из среднего значения выходных - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть многоколонный фрейм данных панд со строками для каждого дня.Теперь я хотел бы заменить каждые выходные на средние значения в одной строке.

Т.е. (Fr, Sa, Su) .resample (). Mean () -> (Weekend)

Не знаю, с чего начать.

Заранее спасибо.

1 Ответ

0 голосов
/ 16 декабря 2018
import pandas as pd
from datetime import timedelta
# make some data
df = pd.DataFrame({'dt': pd.date_range("2018-11-27", "2018-12-12"), "val": range(0,16)})

# adjust the weekend dates to fall on the friday
df['shifted'] = [d - timedelta(days = max(d.weekday() - 4, 0)) for d in df['dt']]

# calc the mean
df2 =  df.groupby(df['shifted']).val.mean()
df2

#Out[105]: 
#shifted
#2018-11-27     0
#2018-11-28     1
#2018-11-29     2
#2018-11-30     4
#2018-12-03     6
#2018-12-04     7
#2018-12-05     8
#2018-12-06     9
#2018-12-07    11
#2018-12-10    13
#2018-12-11    14
#2018-12-12    15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...