使用熊猫中的列表沿轴1分组分组

时间:2018-06-28 16:37:09

标签: python pandas group-by

以下内容来自“使用熊猫进行数据分析”:

  

每个分组键可以采用多种形式,并且键不必是   都是同一类型:

     

•与长度相同的轴的长度列表或值数组   分组

     

•dict或Series给出了对应的值   轴被分组,组名

我尝试了以下操作:

df1
         1980   1981    1982    1983    1984    1985    1986
Country                         
Afghanistan 16  39  39  47  71  340 496
Albania 1   0   0   0   0   0   1
Algeria 80  67  71  69  63  44  69
American Samoa  0   1   0   0   0   0   0
Andorra 0   0   0   0   0   0   2

Grouping_keys_along_axis_1
['1', '1', '1', '2', '2', '3', '3']

df1.groupby(Grouping_keys_along_axis_1, axis = 0).sum()
KeyError: '1'

这种行为实际上符合我对文档化的理解,但似乎与我一开始所引用的片段不一致。

想法是将前3列分组为一组,将后2列分组为第二组,最后2列分组为第三组,然后在每个组中应用汇总函数(此处sum())沿轴= 1。

您的建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为您需要以下条件:

ga = ['1', '1', '1', '2', '2', '3', '3']

df.groupby(ga, axis=1).sum()

输出:

                  1    2    3
Country                      
Afghanistan      94  118  836
Albania           1    0    1
Algeria         218  132  113
American Samoa    1    0    0
Andorra           0    0    2

请注意,由于您的ga列表长度等于df.columns索引的长度,因此可以使用。因此,您可以使用ga(分组轴)列表来确定如何对列进行分组。