首页 > 解决方案 > Python,按多列分组 - 结果不完整

问题描述

我有一张有 500 行和 9 列的表。

结果:(只是一个例子)

Name     A             B
J        something     something
B        something     something
R        something     something
[500 rows x 9 columns] 

# GROUP PREVIOUS OUTCOME BY COLUMN A AND B
grouped_df = merge1.groupby(['A', 'B'])
for key, item in grouped_df:
  a_group = grouped_df.get_group(key)
  print(a_group, "\n")

当我想将这些数据按两列分组时,结果是许多小型分组表。这是我所期望的。

结果:(只是一个例子)

Name     A             B
J        something     something
B        something     something
R        something     something
[19 rows x 9 columns]

Name     A             B
A        something     something
C        something     something
L        something     something
[30 rows x 9 columns]

Name     A             B
R        something     something
T        something     something
P        something     something
[7 rows x 9 columns]

但是,当我使用下面的代码将其保存到 Excel 表中时,“AB”表只会保存这些小表中的最后一个表。知道为什么吗?我需要保存所有这些小桌子。谢谢你。

# SAVE OUTCOME TO SHEET AB, APPEND TO AN EXISTING FILE
import openpyxl
wr = pd.ExcelWriter(filepath, engine='openpyxl')
wr.book = openpyxl.load_workbook(filepath)
outcome.to_excel(wr, sheet_name='AB', index = False)
wr.save()
wr.close()

标签: pythongroup-bypandas-groupbywriter

解决方案


推荐阅读