自動化你的辦公室工作:Pandas與Python

pandas

T編在日常工作中,常會遇到繁瑣且重複性高的工作,因此自動化處理數據的能力是必要的工具之一。Python的Pandas套件就提供了這樣的能力,它能處理各種數據,並且透過各種方法將數據轉換為有用的資訊。本文將會講解如何使用Pandas進行辦公室日程工作自動化,以及介紹一些常用到的函數。

零、Pandas 是什麼

Pandas是一個Python數據處理和分析庫,它專為解決數據處理問題而設計。Pandas提供了大量的功能,如讀寫數據、數據清洗、數據分析等等,並且能與Excel、CSV等常見的資料表格格式進行讀寫。

壹、常見的自動化應用

  • 讀取和寫入Excel文件:一個常見的情況是需要從兩份不同的Excel讀取數據並將其合併,最終導出成一份新的Excel。以下是如何使用Pandas來實現這種任務的範例。
import pandas as pd # 引入套件

# 讀取Excel文件
df_sales = pd.read_excel('sales.xlsx') # 讀取銷售數據

df_products = pd.read_excel('products.xlsx') # 讀取產品資訊
Product_IDMonthSales
1January100
2January200
1February150
2February250
1March300
2March350
銷售數據(sales.xlsx)

Product_IDProduct
1Apple
2Orange
產品資訊(products.xlsx)

  • 分組並計算出各產品平均銷售額
grouped = df_sales.groupby('Product_ID')['Sales'].mean()
print(grouped)

output:

Product_ID
1    183.33
2    266.67
Name: Sales, dtype: float64

  • 將兩個表格合併
# 根據 Product_ID 將 df_products 與 df_sales 兩個資料表進行合併
merged_df = pd.merge(df_products, df_sales, on='Product_ID')
merged_df
Product_IDProductMonthSales
01AppleJanuary100
11AppleFebruary150
21AppleMarch300
32OrangeJanuary200
42OrangeFebruary250
52OrangeMarch350
合併後的表格(merged_df )

  • 表格轉置:讓資料看起來更簡潔明瞭
# 使Product_ID作為索引值、月份作為欄位名稱、銷售額作為我們要使用的值
pivot_df = merged_df.pivot_table(index='Product_ID', columns='Month', values='Sales', aggfunc='sum')
pivot_df
MonthFebruaryJanuaryMarch
Product
Apple150100300
Orange250200350
轉置後的表格(pivot_df)

  • 匯出成Excel:將整理完的數據輸出成一份新的Excel
pivot_df.to_excel('final.xlsx')

貳、常用的函式整理

  • 讀取與寫入數據read_csv() 可以讀取 CSV 檔案,而 to_csv() 可以將數據寫入 CSV 檔案。
# 讀取 CSV 檔案
df = pd.read_csv('example.csv')

# 寫入 CSV 檔案
df.to_csv('output.csv', index=False)
  • 數據查詢與選擇lociloc 是兩個常用的方法,可以根據標籤或索引選擇數據。
# 使用標籤選擇數據
df.loc[df['column_name'] == 'value']

# 使用索引選擇數據
df.iloc[0]
  • 數據處理dropna() 可以刪除含有 NaN 的行或列,fillna() 可以填充 NaN 值。
# 刪除含有 NaN 的行
df.dropna()

# 將 NaN 值填充為 0
df.fillna(0)
  • 數據分析describe() 可以提供數據的統計摘要,groupby() 可以根據某些列的值進行數據分組。
# 獲取數據的統計摘要
df.describe()

# 根據某列的值分組
df.groupby('column_name').mean()
  • 數據轉換apply() 可以對數據應用一個函數,merge() 可以根據一或多個鍵將不同的 DataFrame 合併。
# 對數據應用函數
df['column_name'].apply(lambda x: x**2)

# 合併兩個 DataFrame
pd.merge(df1, df2, on='common_column')

參、總結

以上簡單介紹了T編在使用 pandas 時較常用到的函式及功能,實務上還有更多更進階的應用可以對數據處理及分析有莫大的助益,以上僅為常用功能的其中一部分。有機會T編再與各位介紹如何透過 pandas 這個套件處裡更深入的辦公室應用,可以使我們平時重複性的工作變得自動化,增進工作上的效率。

Loading

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *