首页 > 解决方案 > Pandas - 使用将 2 行合并为 1 行

问题描述

下面是我拥有的数据框的一个小例子。每个用户有 2 行,我想将 2 合并为 1 行。

(原始数据框)

USER       DETAIL          TEAM         VALUE
JohnDoe    Disponibily     Architect    107
JohnDoe    Capacity        Architect    240
JamesDean  Disponibily     Coder        80
JamesDean  Capacity        Coder        110

我正在尝试用 pandas 实现这样的目标:

USER       TEAM            Disponibily  Capacity
JohnDoe    Architect       107          240
JamesDean  Coder           80           110

任何帮助将不胜感激。

标签: pythonpython-3.xpandaspandas-groupby

解决方案


use pivot_table

df = pd.DataFrame(data={"USER":["JohnDoe","JohnDoe","JamesDean","JamesDean"],
                       "DETAIL":["Disponibily","Capacity","Disponibily","Capacity"],
                       "TEAM":["Architect","Architect","Coder","Coder"],
                       "VALUE":[107,240,80,110]})
res = pd.pivot_table(df,index=['USER','TEAM'],columns='DETAIL',values='VALUE').reset_index()
res.columns.name = ''
        USER    TEAM    Capacity    Disponibily
0    JamesDean  Coder       110       80
1    JohnDoe    Architect   240       107

推荐阅读