每天學一點資料科學 Day 3(資料觀察)

更新於 發佈於 閱讀時間約 6 分鐘
raw-image

以前做實驗或看論文時,通常在看資料或進行資料處理前我可能會先大致瀏覽一下資料的輪廓,或許會把它排個序來看看有沒有特別大或小的值,或許會觀察一下資料裡是不是有某個名稱出現很多次之類的。以上這些行為在資料科學裡也會有,當資料量巨大的時候肯定不太適合一個一個慢慢觀察,所以可以借助Pandas裡的一些工具來協助。


不免俗地先建立一個適合接下來練習的dataframe,是台積電從2月3日至2月18日的每日收盤價和漲跌。

import pandas as pd

df = pd.DataFrame(
{
"date": ["114/02/03", "114/02/04", "114/02/05", "114/02/06",
"114/02/07", "114/02/10", "114/02/11", "114/02/12",
"114/02/13", "114/02/14", "114/02/17", "114/02/18"],
"price": ["1070.00", "1095.00", "1110.00", "1115.00",
"1125.00", "1105.00", "1110.00", "1100.00",
"1090.00", "1065.00", "1065.00", "1085.00"],
"change": ["-65", "+25", "+15", "+5", "+10", "-20",
"+5", "-10", "-10", "-30", "+25", "+15"]
}
)

head()

取前幾列的資料進行觀察

head()可以截取dataframe中的前幾列資料來進行觀察,預設是5列

df.head() 
head()預設是顯示前5列

head()預設是顯示前5列

當然,在括號中填入其他數字就能獲得不同列數的資料:

df.head(3) 
在head()中輸入3,你就能得到前3列的資料

在head()中輸入3,你就能得到前3列的資料

tail()

取倒數幾列的資料進行觀察

tail()head()功能差不多,差別在tail()是截取倒數幾列的資料。它的預設值同樣是5列,也能自由調整想觀察的列數。

df.tail()
tail()預設是顯示倒數5列

tail()預設是顯示倒數5列

info()

顯示dataframe的詳細資訊
df.info()
raw-image

可以從輸出的結果看到有以下幾項資訊:

  • 欄位名稱
  • 欄位數量
  • 每欄的非空值數量
  • 每欄的資料型別

這些資訊可以讓我們對dataframe中的資料有個大致上的輪廓。

describe()

計算並呈現各項資料常用的統計值

當dataframe中同時有數值型 (Numerical)資料和和類別型 (Categorical)資料時,describe()會預設處理數值型資料。

在我的dataframe中,price和change兩項資料在使用時應該會是以數值的型別在操作,所以我先用昨天學的方法把這兩項資料分別轉為float(浮點數)和int(整數):

df["price"] = df["price"].astype("float")
df["change"] = df["change"].astype("int")

然後再使用describe()

df.describe()
raw-image

對於數值型資料,describe()會幫我們計算出以下幾項常用的統計值:

  • 數量 (count)
  • 平均值 (mean)
  • 標準差 (std)
  • 最小值 (min)和最大值 (max)
  • 第25、第50、第75百分位數 (25%, 50%, 75%)

各項資料究竟是集中或是分散?是常態分布或是偏重一邊?從這些統計值就可以大致上瞭解各項資料的狀況。

那類別型資料呢?

describe(include=["O"])

describe()有一個參數include可以選擇要處理的對象,以下是如何使用它來處理類別型資料:

df.describe(include=["O"])

# 也可以寫成下面這樣
df.descibe(include="object")
raw-image

對於類別型資料,describe(include=["O"])會得到以下幾項統計值:

  • 數量 (count)
  • 類型數量 (unique)
  • 最上方的資料 (top)
  • 出現頻率的最高值 (freq)

從輸出結果來看,在date欄位中有12筆資料,這些資料每個都不同而且都只出現1次,而最上方的資料是114/02/03。

sample()

隨機取出幾列資料

預設是隨機取出1列資料,在括號中填入數字可以決定要隨機取出的資料列數,例如df.sample(5)代表從df中隨機取出5列資料。

value_counts()

計算特定欄位中每個值出現的次數,並按照出現次數由多到少往下排列呈現。
df["date"].value_counts()
日期數量全部都是1好像不是個好例子

日期數量全部都是1好像不是個好例子

這個函數對類別型資料比較好用,可以馬上知道是哪個/些值的數量名列前茅。數值型資料雖然也能用value_counts(),但採用describe()來觀察平均數、標準差等常見的統計值顯然更好一些。


今天的內容在我之前直接拿Kaggle的鐵達尼號生存預測來看時就知道個大概了,但也是有一些不知道的,既然有不知道的那就值得學對吧!

感謝大家的閱讀!

留言
avatar-img
留言分享你的想法!
avatar-img
施政宇的沙龍
0會員
3內容數
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
在處理資料之前,先觀察資料,這裡是一些可以協助觀察資料的函數。
Thumbnail
在處理資料之前,先觀察資料,這裡是一些可以協助觀察資料的函數。
Thumbnail
其實除了研究所需,觀察也是靈感的來源、也可以是日常生活的樂趣。
Thumbnail
其實除了研究所需,觀察也是靈感的來源、也可以是日常生活的樂趣。
Thumbnail
透過簡單的舉例,分享從原始資料到洞察發現的完整過程,包括資料清洗、特徵工程、探索性資料分析,以及如何根據分析結果提出具體建議。
Thumbnail
透過簡單的舉例,分享從原始資料到洞察發現的完整過程,包括資料清洗、特徵工程、探索性資料分析,以及如何根據分析結果提出具體建議。
Thumbnail
上一篇提到,可以將一本書先概括性的做筆記,過些日子回過頭來,看完自己摘要後,重讀一遍時,每一章節都做短一點的筆記,然後就可以停,不需要進一步。不是說一定不要,你真的很愛,要反覆看,每一行的紀錄,也是個人自由,這邊講的是一般情況。
Thumbnail
上一篇提到,可以將一本書先概括性的做筆記,過些日子回過頭來,看完自己摘要後,重讀一遍時,每一章節都做短一點的筆記,然後就可以停,不需要進一步。不是說一定不要,你真的很愛,要反覆看,每一行的紀錄,也是個人自由,這邊講的是一般情況。
Thumbnail
在學術寫作中,掌握「關鍵字閱讀」技術至關重要。 對於學術研究者來說, 有效地從大量的學術文獻中提煉出核心資訊是一項挑戰。 關鍵字閱讀不僅可以幫助你避免被不必要的細節所淹沒, 還能讓你更聚焦於與研究主題相關的資訊。 結合「書目卡 Bibcard」的使用, 這種閱讀方式能夠大大提高你的閱讀效
Thumbnail
在學術寫作中,掌握「關鍵字閱讀」技術至關重要。 對於學術研究者來說, 有效地從大量的學術文獻中提煉出核心資訊是一項挑戰。 關鍵字閱讀不僅可以幫助你避免被不必要的細節所淹沒, 還能讓你更聚焦於與研究主題相關的資訊。 結合「書目卡 Bibcard」的使用, 這種閱讀方式能夠大大提高你的閱讀效
Thumbnail
教育現場中常常能看到這種:越是在細微之處,越要小心謹慎的態度面對。孩子如果從找資料開始就受挫,那他們怎麼可能統整及分析呢?內容不夠充實的話,上台報告又如何從容不迫呢?
Thumbnail
教育現場中常常能看到這種:越是在細微之處,越要小心謹慎的態度面對。孩子如果從找資料開始就受挫,那他們怎麼可能統整及分析呢?內容不夠充實的話,上台報告又如何從容不迫呢?
Thumbnail
先前整理了一篇《邏輯好與不好差在那裡?增強邏輯表現的12種方式》,發現「分析能力」很難用短短的幾行字讓人深入理解,因此興起了撰寫本篇文章的念頭。本文試著用更淺顯的方式,說明分析能力如何運作,期望讀者在深入瞭解之後可以應用在生活中,增強自我的分析能力。
Thumbnail
先前整理了一篇《邏輯好與不好差在那裡?增強邏輯表現的12種方式》,發現「分析能力」很難用短短的幾行字讓人深入理解,因此興起了撰寫本篇文章的念頭。本文試著用更淺顯的方式,說明分析能力如何運作,期望讀者在深入瞭解之後可以應用在生活中,增強自我的分析能力。
Thumbnail
小孩看似都把文章(課文)看完了,但到底看懂了多少?我們一步一步的帶著他們奠能力,不只是閱讀的當下需要花功夫,其實,閱讀前、中、後都有許多眉眉角角該注意。我們在資源班上課時,也會嘗試許多閱讀理解的方法,測試哪些小方法是對他們有幫助的。一起擴充閱讀工具吧! 【閱讀前】-找線索、舊經驗、有目標 在許多
Thumbnail
小孩看似都把文章(課文)看完了,但到底看懂了多少?我們一步一步的帶著他們奠能力,不只是閱讀的當下需要花功夫,其實,閱讀前、中、後都有許多眉眉角角該注意。我們在資源班上課時,也會嘗試許多閱讀理解的方法,測試哪些小方法是對他們有幫助的。一起擴充閱讀工具吧! 【閱讀前】-找線索、舊經驗、有目標 在許多
Thumbnail
數位學習與學術研究:如何有效地管理你的知識? 在這個數位時代,資訊隨處可見。但是,如何有效地收集、理解、整理和應用這些資訊呢?這篇文章將向你展示三種策略:1. 理解與學習數位資訊;2. 撰寫有效的學術文獻回顧;3. 訂立學術發表計畫。
Thumbnail
數位學習與學術研究:如何有效地管理你的知識? 在這個數位時代,資訊隨處可見。但是,如何有效地收集、理解、整理和應用這些資訊呢?這篇文章將向你展示三種策略:1. 理解與學習數位資訊;2. 撰寫有效的學術文獻回顧;3. 訂立學術發表計畫。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News