iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用・114 年第二次・L22・第 2 題

pandas 怎麼計算敘述性統計量?

原題

使用 Python 的 pandas 套件處理各商品銷售數據(變數為 df)時,若需計算「總銷售額」欄位的敘述性統計量(如平均值、標準差等),應使用下列哪一種語法?

白話

有一個名叫 df 的 pandas DataFrame,裡面有一欄叫「總銷售額」,存放各商品的銷售數字。現在想一口氣看這欄的平均值、標準差、最大值、最小值這些統計摘要。

問你:用 pandas 對某欄位計算敘述性統計量(平均、標準差等),應該用哪一行語法?

一句話總結

要一次看某欄的平均、標準差、最大最小值等統計摘要,用 df['欄位名'].describe()。這是 pandas 內建的敘述性統計方法,一行搞定。

情境

先感受問題:拿到一批銷售數據,第一件事是什麼

嘉誠電商的數據分析師阿雯,剛從資料庫拉出一個 DataFrame,長這樣:

df(部分):

商品名稱   總銷售額

藍牙耳機    58000

無線滑鼠    12000

機械鍵盤   145000

USB集線器   8500

... (共 500 筆)

阿雯想第一眼就知道:這個「總銷售額」欄位的資料分佈狀況怎麼樣?平均賣多少?最高最低差多少?有沒有極端值?

她不想一個一個算,要一行程式碼就看到所有統計摘要。

舊方法

分開算每個統計量有什麼問題

  1. 寫很多行:mean()、std()、min()、max() 各要一行,探索性分析時程式碼堆一堆。
  2. 容易漏看指標:只算平均和標準差,忘了看四分位數(Q1/Q3),資料的偏態就看不出來。
  3. 每換一個欄位就要重複貼:500 個欄位就要貼 500 組程式碼,沒效率。
  4. 沒有格式化輸出:單獨呼叫 mean() 只回傳一個數字,不方便直接對照比較多個指標。
  5. 容易拼錯方法名:每個統計量方法名都不同,初學者容易打錯。

新方法

describe() 一行看完所有統計摘要

阿雯只需要打一行:

df['總銷售額'].describe()

輸出結果長這樣:

count     500.000000
mean    42350.000000
std     33210.500000
min      1200.000000
25%     15000.000000
50%     38000.000000
75%     62000.000000
max    145000.000000
Name: 總銷售額, dtype: float64

一個輸出同時給你:

  • count:非空值筆數
  • mean:平均值
  • std:標準差
  • min / max:最小最大值
  • 25% / 50% / 75%:四分位數(讓你看出資料分佈形狀)

這就是選項 B 講的:df['總銷售額'].describe()。

錯選項

為什麼其他選項是錯的

Adf['總銷售額'].sum()

字面在說什麼

把「總銷售額」這欄所有數字加總,得到一個數字(全部商品銷售額的總和)。

為什麼不對

sum() 只算「加總」,回傳一個數字,不是統計摘要。題目要的是「平均值、標準差等」多個統計量,sum() 做不到。

誰會選錯

看到「銷售額」就聯想到「加總」的人。注意:題目說的是「敘述性統計量」,不是加總。

Cdf['總銷售額'].sort_values()

字面在說什麼

把「總銷售額」欄的數值從小到大排序。

為什麼不對

sort_values() 是「排序」方法,回傳的是排好順序的資料序列,不計算任何統計量。它改變的是資料的排列順序,跟敘述性統計完全不同用途。

誰會選錯

把「排序」跟「統計」搞混的人,或是想說「排完才能看分佈」的人。排序是資料整理,describe() 才是統計摘要。

Ddf['總銷售額'].stats()

字面在說什麼

用 stats() 方法計算統計量。

為什麼不對

pandas Series 根本沒有 stats() 這個方法。執行會直接拋出 AttributeError。這是個「看起來合理但其實不存在」的假方法,用來測試你是否真的記住正確的 API。

誰會選錯

猜測「stats 就是 statistics 的縮寫,應該是統計方法」的人。pandas 的統計摘要方法名叫 describe(),不叫 stats()。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

出處:iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用 第 2 題

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。