首页 > 解决方案 > Pandas 输出到 Excel 时合并单元格

问题描述

我有两张桌子。表 1 按周/天,表 2 按周。当我在 pandas 中合并这两个表并输出到 Excel 时,我怎样才能得到表 3 而不是表 4 的结果?关键是在 Excel 中仅显示同一周 col2 的 1 个值,而不是每天重复 Col2 值。这张桌子实际上很大并且有更多的尺寸,所以我正在寻找一个可扩展的解决方案,而不是专门针对这个小桌子。我正在考虑熊猫合并函数和工作表函数,但遇到了麻烦。谢谢!

表格1 在此处输入图像描述

表 2 在此处输入图像描述

表3 在此处输入图像描述

表 4 在此处输入图像描述

标签: pythonpandasmergeworksheet-function

解决方案


d1 = {'week': [0, 0, 0, 1, 1, 1],
      'day': [1, 2, 3, 1, 2, 3], 'col1': [30, 40, 20, 10, 20, 50]}
df1 = pd.DataFrame(data=d1)

d2 = {'week': [0, 1], "col2": [100, 200]}
df2 = pd.DataFrame(data=d2)

# Get table 4
dm = df1.merge(df2, how="right", on="week")

dm = dm.drop_duplicates(subset=['col2'], keep='last')

# Get table 3
desired = df1.merge(dm, how="left")

推荐阅读