以下内容来自“使用熊猫进行数据分析”:
每个分组键可以采用多种形式,并且键不必是 都是同一类型:
•与长度相同的轴的长度列表或值数组 分组
•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。
您的建议将不胜感激。
答案 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(分组轴)列表来确定如何对列进行分组。