合并相同的标签进行计数

合并相同的标签进行计数

我有一个巨大的数据框,如:



  country1  import1  export1 country2  import2  export2
0      USA       12       82  Germany       12       82
1  Germany       65       31   France       65       31
2  England       74       47    Japan       74       47
3    Japan       23       55  England       23       55
4   France       48       12      Usa       48       12


export1import1属于country1
export2import2属于country2

我想按国家/地区计算进出口值。

输出可能像这样:

 country | total_export | total_import
______________________________________________
USA      |  12211221    | 212121
France   |    4545      | 5454
...
...

最佳答案

首先使用wide_to_long

df = (pd.wide_to_long(data.reset_index(), ['country','import','export'], i='index', j='tmp')
        .reset_index(drop=True))
print (df)
   country  import  export
0      USA      12      82
1  Germany      65      31
2  England      74      47
3    Japan      23      55
4   France      48      12
5  Germany      12      82
6   France      65      31
7    Japan      74      47
8  England      23      55
9      Usa      48      12


然后聚合sum

df = df.groupby('country', as_index=False).sum()
print (df)
   country  import  export
0  England      97     102
1   France     113      43
2  Germany      77     113
3    Japan      97     102
4      USA      12      82
5      Usa      48      12

关于python - 合并相同的标签进行计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58832261/

10-11 08:03