首页 > 解决方案 > 基于相同的 id 将多行合并为一个,保留所有列但合并相同的单元格值

问题描述

我有一个数据电子表格,其中每个行项目或行都有一个团队代码值以及其他数据列。我想做的是使用 Python 循环遍历行并比较每一行的团队代码值。如果团队代码匹配多行,我想将这些行合并为一行,保留所有数据列并合并相同的团队代码单元格值。

例如,我在电子表格中有以下行项目:

团队代码 评估者 积分 条款
PJ-1501 IO866 37.0 6.0 精通
PJ-1501 IO1123 39.0 5.0 很好
PJ-1502 IO1123 47.0 3.0 杰出的
PJ-1502 IO866 47.0 3.0 杰出的

我想像这样加入他们:

团队代码 评估者 积分 条款 评估者 积分 条款
PJ-1501 IO866 37.0 6.0 精通 IO1123 39.0 5.0 很好
PJ-1502 IO1123 47.0 3.0 杰出的 IO866 47.0 3.0 杰出的

现在,这 4 行合并为 2 行,所有列均已连接,并且团队代码值已合并。

这是我到目前为止所拥有的代码,它使我能够将行项目堆叠起来。我只需要知道其余代码现在加入一行并合并团队代码值。

cwd = os.path.abspath('')
files = os.listdir(cwd)
file = 'ScP Scores IC 2021 Exported.xlsx'
spreadsheet_file = pd.ExcelFile(file)'
worksheet = spreadsheet_file.sheet_names'
for sheet_name in worksheet:'
    df = pd.read_excel(spreadsheet_file, sheet_name)'
    df = df[['Team Code', 'Evaluator', 'Total Points', 'Rank', 'Quality Terms']]'
grouped = df.groupby('Team Code')'

我试过groupby,mergejoin. 没有什么适合我。非常感谢任何帮助。;-)

标签: pythonjoinmerge

解决方案


推荐阅读