我有一个如下所示的DataFrame:
2016-01 2016-02 2016-03 2016-04 2016-05 2016-06 ....
name
John 1000 1500 1800 2000 1600 1000
除了它有10730个条目。我想要的是拥有一个新的DataFrame,其平均值为每年的每个季度(3个月)。例如:
2016q1 2016q2 .....
John 143.333 1533.333
我对此的解决方案太可怕了,花了太多时间,所以一切都好了。谢谢!
答案 0 :(得分:2)
转换为日期时间,然后转换为resample
df.columns=pd.to_datetime(df.columns,format='%Y-%m')
df
Out[7]:
2016-01-01 2016-02-01 2016-03-01 2016-04-01 2016-05-01 2016-06-01
John 1000 1500 1800 2000 1600 1000
df=df.resample('Q',axis=1).mean()
df.columns=pd.PeriodIndex(df.columns, freq='Q')
df
Out[14]:
2016Q1 2016Q2
John 1433.333333 1533.333333