我有这个 Dataframe,想按 ID 分组并加入值。
ID | A_Num | I_Num
--------------------------
001 | A_001 | I_001
002 | A_002 | I_002
003 | A_003 | I_004
005 | A_002 | I_002
期望的输出
ID | A_Num | I_Num
--------------------------
001 | A_001 | I_001
002;005 | A_002 | I_002
003 | A_003 | I_004
代码:
df = df.groupby(['A_Num','I_Num'])['ID'].apply(lambda tags: ';'.join(tags))
df.to_csv('D:\joined.csv', sep=';', encoding='utf-8-sig', quoting=csv.QUOTE_ALL, index=False, header=True)
当我将 DataFrame 写入 csv 文件时,我只有 ID 列。
最佳答案
尝试reset_index()
:
df=df.groupby(['A_Num','I_Num'])["ID"].apply(lambda tags: ';'.join(tags.values)).reset_index()
这样您从 apply()
的聚合将被执行,然后重新分配为 column
而不是 index
。
关于python - 分组并加入值但保留所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57769053/