pandas excel合併去重
阿新 • • 發佈:2020-12-25
一、概述
現有一個excel檔案examples.xlsx,內容如下:
合併去重後,效果如下:
那麼需求如下:
公司去重,保留一個
多個地區合併為一行,用逗號隔開
收入進行累計計算
最後將統計結果,儲存到新的excel中。
二、演示
完整程式碼如下:
# !/usr/bin/python3 # -*- coding: utf-8 -*- import pandas as pd def computer(x): # 資料計算 return pd.Series({ # 去重 '公司': ','.join(x['公司'].unique()), '地區': ','.join(list(set((','.join(x['地區']).split(','))))), '收入': sum(x['收入']), }) # 讀取原始資料excel _df = pd.read_excel('examples.xlsx', sheet_name='Sheet1') # 使用groupby進行分組 res = _df[['公司', '地區', '收入']].groupby(['公司'], as_index=False).apply(computer).reset_index() # 儲存到新的excel中 res.to_excel('資料彙總.xlsx', index=False, header=True, encoding='gbk', sheet_name='Sheet1')
執行程式碼,它會生成一個檔案據彙總.xlsx
開啟它,效果如下: