2000-01 2000-02 2000-03 2000 -04 ...... 2016-08
0 1010 43453 5564 45545 15555
1 4565 44646 8989 56565 56565
У меня есть dataframe как this.I нужно добавить несколько столбцов, как «2000q1», что означает средние значения 2000-01,2000-02,2000- 03. Таким образом, месяц 4-6 - q2, месяц 7-9 - q3, месяц 10-12 - q4. Я думаю, что результат должен быть таким:Как преобразовать дату Year.Q в DataFrame появляются две
2000q1 2000q2 2000q3 2000q4 2001q1......2016q3
16675.67 15615 ...................................
19400 55665 ...................................
Я думаю, что первый шаг должен преобразовать столбцы DateTime.
import pandas as pd
df.columns.map(pd.to_datetime)
Но я не знаю, что следующий шаг
У меня есть идея, но она не работает. Я использую цикл.
d = []
for i in range(2000,2017):
i=str(i)
d.append(i+'q'+str(1))
d.append(i+'q'+str(2))
d.append(i+'q'+str(3))
d.append(i+'q'+str(4))
#I create a list contains the date I need. Next step is put mean values in.
d = d[:-1] #remove 2016q4 from list because the date untill 2016-08
for date in d:
for a in range(0,201,3):
average = np.mean(df.iloc[:,a:a+3])
df[date] = average
Но результат показывает, что в новых столбцах указаны значения NaN.
Он работает. Кстати, как я могу узнать панд? Если бы я не столкнулся с этой проблемой, я никогда не узнаю, что произошло ... –