我有一个dataFrame,它包含每个月的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个月的平均值作为每个季度的值。所以
GDP['2000q1'] = (GDP['2016-1'] + GDP['2016-2'] + GDP['2016-3'])/3我是否可以根据列的数目而不是列的名称进行分组?
谢谢
发布于 2017-01-12 13:20:17
使用resample的
GDP.resample('Q', axis=1).mean()

如果我们首先将列转换为句点索引
GDP.columns = GDP.columns.to_period()然后同一条线给我们
GDP.resample('Q', axis=1).mean()

发布于 2017-01-12 13:24:00
您可以使用.iloc按数字访问列GDP.iloc:,0:3。平均(axis=1)将返回前三列的平均值GDP.iloc:、3:6平均(axis=1)等等。
https://stackoverflow.com/questions/41613934
复制相似问题