CodeGym /Adesua ahorow /Python SELF TW /使用 pandas 方法準備報表數據

使用 pandas 方法準備報表數據

Python SELF TW
等級 28 , 課堂 3
開放

1. 為報表結構化數據

當你製作報表時,重要的不僅僅是把一堆數據漂亮地包裝起來,而是讓信息更清晰易懂。數據的準備直接影響到你的報表是否容易被快速理解。

樞紐分析表:我們的報表瑞士軍刀

樞紐分析表是一種強大的數據總結、聚合與展示方式,經常用於 Excel 的分析。在 pandas 中,我們可以用 pivot_table 方法簡單地創建樞紐分析表。 讓我們看一個簡單的例子。

假設你有以下有關商店銷售的數據:

Python

import pandas as pd

data = {
    '產品': ['橙子', '蘋果', '香蕉', '橙子', '香蕉', '蘋果'],
    '月份': ['一月', '一月', '一月', '二月', '二月', '二月'],
    '銷售量': [150, 200, 250, 130, 180, 210]
}

df = pd.DataFrame(data)

為了創建一個顯示每個產品在每個月份的銷售總額的樞紐表,我們可以使用 pivot_table

Python

pivot_df = df.pivot_table(values='銷售量', index='產品', columns='月份', aggfunc='sum')
print(pivot_df)

這個簡單的例子展示了如何快速地根據分類和日期聚合數據——它是報表的理想基礎。

2. 使用 pandas 方法準備數據

方法 pivot_table

pivot_table 方法非常靈活,它不僅能對數據進行求和,還可以應用其他聚合函數,比如 meancount 等。 我們來看看如何轉換數據顯示銷售量的平均值:

Python

pivot_mean_df = df.pivot_table(values='銷售量', index='產品', columns='月份', aggfunc='mean')
print(pivot_mean_df)

方法 crosstab

pandas 中的 crosstab 方法類似於樞紐表,但它用於計算頻率分佈。假設我們想要計算每個產品在不同月份的銷售次數:

Python

cross_df = pd.crosstab(df['產品'], df['月份'])
print(cross_df)

這個方法很有用,當你需要研究分類數據的分佈或分析事件頻率時。

3. 通過多維索引調整數據顯示

多維索引

是的,pandas 允許你超越二維數據,使用多維索引。這對於表示具有多層次聚合的數據非常有用。例如,在我們的數據集中添加“年”並創建多維索引。

Python

data['年'] = [2023, 2023, 2023, 2024, 2024, 2024]
df = pd.DataFrame(data)

multi_pivot_df = df.pivot_table(values='銷售量', index=['年', '產品'], columns='月份', aggfunc='sum')
print(multi_pivot_df)

現在,我們的數據按年份和產品聚合,使其更具信息性。

4. 實踐與分析

讓我們把所學的內容運用到實踐中。任務:準備銷售報表數據。

假設你有以下銷售數據:

Python

data = {
    '產品': ['橙子', '橙子', '蘋果', '蘋果', '香蕉', '香蕉'],
    '月份': ['一月', '二月', '一月', '二月', '一月', '二月'],
    '年': [2023, 2023, 2024, 2024, 2023, 2024],
    '銷售量': [150, 200, 180, 220, 120, 130]
}

df = pd.DataFrame(data)

你的任務是創建一個樞紐表,顯示每個產品在每個月份的銷售總額,包括按年份的總計數據。

Python

pivot_total_df = df.pivot_table(values='銷售量', index=['年', '產品'], columns='月份', aggfunc='sum', margins=True, margins_name='總計')
print(pivot_total_df)

這一行“總計”將顯示所有分類的總和,這在全面總覽時非常必要。

5. 討論數據展示和分析的策略

利用 pandas 準備報表數據不僅是數學,同時也是一門藝術。這個過程的重要部分是選擇最能說明問題的數據展示方式,無論是簡單的匯總表格還是複雜的圖表。在現實生活中,這樣的結構化不僅有助於理解當前指標,還能讓你做出有根據的決策。你可能會發現自己像個魔術師一樣,把無聊的數值行變成清晰的畫面。

如果你想成為報表自動化準備的大師,不要忘記 pandas 的可能性,也不要懶於嘗試各種方法和技巧。這項技能不僅在製作分析報表時有用,還能在面試和未來職業生涯中大放異彩。勇敢地探索數據的世界,讓你的報表既有趣又信息量大,同時易於理解!

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION