1. 程式人生 > 其它 >pandas excel合併去重

pandas excel合併去重

技術標籤:pythonjava資料分析大資料excel

一、概述

現有一個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

開啟它,效果如下: