Python 通过迭代四个连续列,获取数据帧中一行中值的平均值

Python 通过迭代四个连续列,获取数据帧中一行中值的平均值,python,pandas,Python,Pandas,我有一个数据框,其中包含每个月的GDP值: [2016-1,2016-2,2016-3,2016-4,2016-5,2016-6,2016-7,2016-8,2016-9,2016-10,2016-11,2016-12] GDP = pandas.DataFrame( np.random.randint(1000,1500,size=(10, 12), columns=[2016-1,2016-2,2016-3,2016-4,2016-5,2016-6,2016-7,2016-

我有一个数据框,其中包含每个月的GDP值:

[2016-1,2016-2,2016-3,2016-4,2016-5,2016-6,2016-7,2016-8,2016-9,2016-10,2016-11,2016-12]

GDP = pandas.DataFrame(
    np.random.randint(1000,1500,size=(10, 12),
    columns=[2016-1,2016-2,2016-3,2016-4,2016-5,2016-6,2016-7,2016-8,2016-9,2016-10,2016-11,2016-12])
我想对每个季度的月份进行分组,得到每个季度3个月的平均值。 所以

是否存在可以按n列数而不是按列名称分组的was

感谢您使用
重采样

GDP.resample('Q', axis=1).mean()


如果我们首先将列转换为句点索引

GDP.columns = GDP.columns.to_period()
然后同样的线给了我们

GDP.resample('Q', axis=1).mean()

您可以使用.iloc按编号访问列 GDP.iloc[:,0:3].mean(axis=1)将返回前三列的平均值
GDP.iloc[:,3:6]。平均值(轴=1)等。

熊猫的出色使用!
GDP.resample('Q', axis=1).mean()