運用熱門Python程式語言,學習資料處理。!
本書屬於基本Python語法的介紹,內容偏向於資料框 (dataframe) 的建構與使用。
以教程(tutorials)方式進行,書內提供對應的指令與結果,配合「範例」著手,即可了解。
本書適合初學者,進入門檻或專業性質並不高,也適合一般社會大眾使用。
本書使用Python 3.8.2 (IDLE)與Spyder 4.1.5二個版本。隨書光碟含全書完整程式碼。
**光碟內附有本書完整的資料與Python程式碼
一書在手,掌握資料處理!
Python功能相當多元,絕非只有數據或統計分析目的而已。全書共分9章。第1章Python的簡介說明,其中包括如何建立「類別 (class)」與模組(module)。第2章介紹Python的基本語法。第3章敘述如何於Python內操作矩陣以及一些基本的矩陣運算。第4章介紹主要的資料結構型態:資料框,以及如何進行資料框內的操作。第5章說明如何建立時間序列型態資料,即如何於Python內顯示日期與時間。第6章為第4章的延續,說明「進階資料框」,或稱為「多層次資料框」的建立。第7章介紹不同資料框間的合併操作。第8章屬於資料的輸入與輸出,包括如何讀取網路上的資料。第9章是資料的探索與繪圖的說明。
閱讀本書最好方式是「一邊閱讀,一邊操作」,不要只用純粹閱讀的方式。切記!作者
林進益
學歷:
國立中山大學財務管理博士
國立政治大學經濟學研究所碩士
東海大學經濟學系學士
經歷:
國立屏東大學財務金融學系副教授
國立屏東商業技術學院財務金融系副教授
國立屏東商專財務金融科講師
致理商專國貿科講師
著作:
財金統計學:使用R語言(2016,五南)《財統》
經濟與財務數學:使用R語言(2017,五南)《財數》
衍生性金融商品:使用R語言(2018,五南)《衍商》
財金時間序列分析:使用R語言(2020,五南)《財時》
統計學:使用Python語言(2020,五南)《統計》
時間序列分析下的選擇權定價:使用R語言(2020,Pubu電子書)《時選》
歐式選擇權定價:使用Python語言(2021,五南)《歐選》
目錄
第1章 Python的簡介
1.1 本書的操作方式
1.2 資料的型態
1.3 類別
1.4 模組
第2章 基本語法
2.1 基本語法
2.2 使用模組
2.3 基本語法
第3章 向量與矩陣
3.1 向量
3.2 矩陣
3.3 特殊的矩陣
第4章 資料框
4.1 資料框的建立
4.2 資料框內的操作
4.3 序列、類別變數與分組
第5章 日期與時間
5.1 使用模組 (time)
5.2 使用模組 (datetime)
5.3 使用模組 (numpy)
5.4 使用模組 (pandas)
第6章 多層次資料框
6.1 多層次資料框的意義
6.2 使用MultiIndex指令
6.3 重塑型態
第7章 資料框的合併
7.1 使用concat(.)函數
7.2 使用merge(.)函數
7.3 使用join(.)函數
第8章 資料的輸入與輸出
8.1 使用read_csv(.)函數
8.2 含日期時間的資料框
8.3 從網路下載資料
第9章 資料探索與繪圖
9.1 EDA
9.2 使用模組 (seaborn)
序/導讀
序言
本書是筆者用Python語言 (底下簡稱為Python) 所撰寫的第3本書。本書的內容應該也可以用R語言撰寫,不過後者的程式碼可能會更繁雜。R語言的主要功能是統計分析,但是就 「資料處理」 而言,Python可能更適合。筆者有幸能同時接觸Python與R語言,並且也見識到二種程式語言的威力。Python與R語言的確讓人印象深刻,其特色是二者背後皆有強大的 「模組」 或 「程式套件」 支援;因此,若有新的程式語言能凌駕於Python或R語言之上,其前提是該程式語言必須也能同時提供龐大的支援或輔助說明,否則豈不是對應的 「模組」 或 「程式套件」 需自己撰寫嗎?
老實說,(就筆者而言) Python並不容易學習,其理由可有:
(1) 因Python的功能較 「全面性」,故若無電腦資訊科技等相關知識背景,初學者並不容易進入。
(2) 其實不應該怪Python,原因是實際社會環境太過於複雜,當Python逐步將實際納入電腦分析內,自然指令或狀況就特多且繁雜。
(3) 畢竟Python是自由軟體且其為一種物件導向程式語言,任何 「自設的函數」 或模組皆可支援。由於撰寫的習慣不一,使得不同函數的內部指令格式未必一致,故面臨一種新的模組或函數,首先必須清楚對應的內部指令用法。由於不一,故有點麻煩。
(4) 許多模組的 「使用手冊」 仍太過於簡化或範例太少,此有待我們持續以嘗試錯誤的方式找出其用法。
(5) Python的指令或操作容易犯錯。
雖說如此,Python仍是筆者接觸過許多程式語言後的首選,而且學習Python似乎符合實際的需要。
本書提供一些學習Python的方式,可以分述如下:
(1) 本書建議初學者可於Spyder的環境下操作。
(2) 使用 「Run selection or …」 的方式 (詳見第1章),即寫完指令後可立即檢視修正。
(3) 如前所述,許多模組內的函數指令未必一致,故應隨時上網查詢不同模組內各函數指令的用法;換言之,讀者應習慣上網查詢。
(4) 看完許多函數指令用法的說明,通常仍是 「百思不得其解」,此時可先從 「範例」 著手。
(5) 由於模組內各函數指令的功能頗多,對應的指令有些複雜,故應多實際操作。
基本上,本書是以教程 (tutorials) 的方式進行,書內幾乎皆有提供對應的指令與結果,為了節省篇幅或不想徒增困惱,許多模組內的函數指令本書並未多作說明,故需要讀者與筆者配合,自行上網查詢。當然,所附的光碟內有全書完整的程式碼。
本書的目的是欲彌補 與 之不足,因此全書幾乎「從源頭說起」,故本書適合初學者使用;換句話說,本書與筆者之前的著作有些不同。本書的進入門檻或專業性質並不高,故應該也適合一般社會大眾使用。全書共分9章。第1章是Python的簡介說明,其中包括如何建立 「類別 (class)」 與模組 (module)。第2章介紹Python的基本語法。第3章則敘述如何於Python內操作矩陣以及一些基本的矩陣運算。第4章介紹主要的資料結構型態:資料框,以及如何進行資料框內的操作。第5章則說明如何建立時間序列型態資料,即如何於Python內顯示日期與時間。第6章屬於第4章的延續,該章說明 「進階的資料框」 或稱為 「多層次資料框」 的建立。第7章則介紹不同資料框之間的合併操作。第8章屬於資料的輸入與輸出,其中包括如何讀取網路上的資料。第9章是資料的探索與繪圖的說明。最後,值得一提的是閱讀本書的最好方式應該是 「一邊閱讀,一邊操作」,不要只用純粹閱讀的方式。切記!
筆者曾經無意中在網路上發現某高中圖書館竟然也有 與 二書的收藏 (筆者有些意外),此或許隱含著電腦程式語言已經默默地往下紮根;或者說,電腦程式語言的確相當吸引人,即使高中生也無法拒絕其吸引力,上述高中應該是有看到R語言與Python,才會特別注意 (畢竟上述二書屬於大學用書);換言之,程式語言的魅力,應該已無法擋。筆者也慶幸能逐漸搭上此潮流趨勢。不過,畢竟仍只是在起步,有待筆者繼續努力;雖說如此,「老先生」 可以學習,年輕的應該更可以。隨書仍附上兒子的一些作品。感謝內人的一些建議。筆者才疏識淺,倉促成書,錯誤難免,望各界先進指正。最後,祝操作順利。
林進益
寫於高雄甲仙
2021/5/31