如何根据 pandas 中的多列进行分组?

How to groupby based on multiple columns in pandas?

我想根据基于多列的数据框进行分组。例如:

Country Type_1 Type_2  Type_3  Type_4  Type_5
China    A       B       C        D      E
Spain    A       A       R        B      C
Italy    B       A       B        R      R

进入这个:

Country Type   Count
China   A       1
        B       1
        C       1 
        D       1
        E       1
Spain   A       2
        R       1
        B       1
        C       1
Italy   B       2  
        A       1   
        R       2

我尝试垂直连接从 Type_1 到 Type_5 的列,应用 reset_index() 然后尝试计数。但是我不知道如何按国家/地区垂直分组。有什么想法吗?

感谢

melt 然后 groupbysize

s = df.melt('Country').groupby(['Country','value']).size()
Out[326]: 
Country  value
China    A        1
         B        1
         C        1
         D        1
         E        1
Italy    A        1
         B        2
         R        2
Spain    A        2
         B        1
         C        1
         R        1
dtype: int64