Как получить среднее / медианное значение реальных данных eastate по временным рядам в pandas?

#python #pandas #time-series

#python #pandas #временные ряды

Вопрос:

У меня есть данные о недвижимости (ежемесячные данные о розничной продаже домов), и я хочу получать ежегодные продажи домов для каждого региона по временным рядам. Для меня не интуитивно понятно, как получить среднее / медианное значение для данных временных рядов. Кто-нибудь укажет мне, как это сделать?

Вот как выглядят мои данные временных рядов:

Кроме того, здесь я поделился примером набора данных с хостом онлайн-обмена файлами: пример фрагмента данных

описание данных:

в этих данных о недвижимости строка — регионы, столбцы — ежемесячная статистика розничной торговли. Я хочу получить среднее / медианное значение за год для этих данных о недвижимости. Как я могу это сделать? есть идеи? введите описание изображения здесь

желаемый результат:

вот эскиз желаемого результата, который я хочу получить.

 region                              2012_mean 2012_median 2013_mean 2013_median

Chicago, IL metro area                  xxx     xxx         xxx         xxx
Chicago, IL                             xxx     xxx         xxx         xxx
Chicago, IL - Albany Park               xxx     xxx         xxx         xxx
Chicago, IL - Andersonville             xxx     xxx         xxx         xxx
Chicago, IL - Arcadia Terrace           xxx     xxx         xxx         xxx
  

Комментарии:

1. Где ваша попытка его кодирования? Мне кажется, вам нужно использовать Google means в pandas и медианы в pandas , сделать попытку самостоятельно, а затем вернуться с более прямым вопросом о том, насколько недостаточно документации в Интернете

Ответ №1:

Сначала убедитесь, что ваши столбцы являются datetime объектом, делайте с groupby

 df.columns=df.columns.str.strip()
df=df.set_index('Region')
s=df.T.groupby(df.columns.year).agg(['mean','median']).T.unstack()
s.columns=s.columns.map('_'.join)
  

Комментарии:

1. Спасибо за вашу помощь. Но я получил `AttributeError: объект ‘Index’ не имеет атрибута ‘year’. Не могли бы вы попробовать примеры фрагментов данных?

2. @Jerry df.set_index( region ,inplace=True);df.columns=pd.to_datetime(df.columns);

3. @Jerry ты запускал df.set_index('region',inplace=True)

4. У меня возникла эта ошибка после того, как я попробовал ваше решение: TypeError: sequence item 0: expected str instance, int found , почему это? Спасибо за вашу помощь

5. @Jerry df.reset_index(inplace= True)