可以使用 Pandas 的 groupby 和 agg 函数来实现这个需求。

首先,读取 Excel 文件并创建一个 DataFrame 对象:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('path_to_excel_file.xlsx')

然后,使用 groupby 和 agg 函数按照 '工序', '物料描述PS' 和 '物料编码SS' 进行分组和聚合操作:

# 按照 '工序', '物料描述PS' 和 '物料编码SS' 进行分组和聚合
df_agg = df.groupby(['工序', '物料描述PS', '物料编码SS']).agg({
    '位置': lambda x: ', '.join(set(x)),
    'PS面积': 'sum',
    'SS面积': 'sum'
}).reset_index()

接下来,使用 merge 函数将聚合后的 DataFrame 与原始 DataFrame 进行合并,根据 '工序', '物料描述PS' 和 '物料编码SS' 进行匹配:

# 根据 '工序', '物料描述PS' 和 '物料编码SS' 进行合并
df_merged = pd.merge(df, df_agg, on=['工序', '物料描述PS', '物料编码SS'], how='left')

最后,根据合并后的 DataFrame 提取需要的列,即 '工序', '物料描述PS', '物料编码SS', '位置', 'PS面积' 和 'SS面积':

# 提取需要的列
df_result = df_merged[['工序', '物料描述PS', '物料编码SS', '位置', 'PS面积', 'SS面积']]

这样就得到了根据工序、物料描述PS 和物料编码SS 合并和聚合后的结果。

注意:根据你的需求,你可能还需要对某些列进行数据类型转换或者进一步的处理。以上代码仅提供一个基本的框架,具体根据你的数据和需求进行调整。

Pandas 合并 Excel 数据:基于工序、物料描述和编码聚合位置和面积

原文地址: https://www.cveoy.top/t/topic/nkfH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录