每3列大熊猫的平均值

时间:2018-01-08 15:26:30

标签: python pandas

我有一个如下所示的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

我对此的解决方案太可怕了,花了太多时间,所以一切都好了。谢谢!

1 个答案:

答案 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