學習如何運用Python與JavaScript這組對超級強大的組合,處理手中的原始資料,建構出功能強大的互動式視覺化網站。在這一本以實務為主的書中,將告訴您如何善用Python和JavaScript的強大函式庫資源,包括Scrapy、Matplotlib、Pandas、Flask與D3,打造出既好看又好用的資料視覺化網站。
本書將帶領您實作一個專案,從抓取維基百科的諾貝爾獎得主資料開始,一直到建立一個互動式網站為止。在這個實作過程中,您將學到資料的抓取、清理、分析,以及透過D3.js將這些資料視覺化的方法。如果您想要利用Python或JavaScript建構資料視覺化網站,這本書正好可以滿足您的需求。
.學習如何以Python處理資料
.了解Python與JavaScript之間的共通相似之處
.運用Python的網站爬取工具:BeautifulSoup與Scrapy,從網站擷取所需資料
.利用Python的Pandas、Matplotlib與NumPy函式庫,清理並分析手中資料
.利用Python的Flask框架呈現資料與建立RESTful API
.利用D3.js打造精美的互動式視覺化網站
作者簡介:
Kyran Dale
資深程式設計師,曾是研究科學家,以改裝系統為樂。兼具獨立研究員與創業家的身分,跨國長跑運動員,而且也是逐漸進步中的爵士鋼琴手。在長達15年的科學研究生涯,拆解了一大堆程式碼,學會了數以百計的函式庫,最後在幾套最愛的工具身上安頓下來;近年來,發現Python、JavaScript、加上一點點C++,就能解決絕大部分的問題;精通快速原型建構與可行性分析,較為傾向於演算法式的理論研究,但對於能夠建構酷炫的實物,也非常開心。
各界推薦
名人推薦:
「看過來看過來!各位Python程式設計師:這正是你夢寐以求、書架上缺少的那本書。本書將幫助您順利通過資料處理的重重關卡,抵達JavaScript國度,運用D3將資料視覺化,呈現在網站上頭。」
-- Scott Murray, 《網頁互動式資料視覺化:使用D3》作者
名人推薦:「看過來看過來!各位Python程式設計師:這正是你夢寐以求、書架上缺少的那本書。本書將幫助您順利通過資料處理的重重關卡,抵達JavaScript國度,運用D3將資料視覺化,呈現在網站上頭。」
-- Scott Murray, 《網頁互動式資料視覺化:使用D3》作者
作者序
本書主要是介紹資料視覺化(data visualization,簡寫dataviz)工具鏈,在網際網路的時代,已經開始佔據主流地位;這套工具鏈的導引原則在於:你從手上資料挖掘出來的珍聞軼事,不論是何種有洞見的資訊,都值得在網路上擁有一個網站,供其他瀏覽器存取,既然能夠放在網站上,也就代表著你可以自由選擇如何散佈成果,可能只供少數幾人存取(使用認證機制或限定為區域網路),或是開放給全世界觀看,這是網際網路現身後,最為關鍵的要點,更是目前資料視覺化領域快速擁抱且支援的能力;這麼說來,資料視覺化領域的未來,一定會有JavaScript參與其中,因為JavaScript是網站瀏覽器上頭唯一的頭等程式語言;但是JavaScript尚未具備足夠的資料處理軟體疊層,無法精鍊原始資料,意思是說,想要從事資料視覺化工作的話,免不了要學會多種語言。我相信,資料視覺化工作在瀏覽器端雖以JavaScript為主,但仍需要另一支輔助語言,而自然而然地會讓人想到Python,也非Python莫屬,我希望本書能提供足夠的武器彈藥,幫各位讀者做好準備,應付各種資料視覺化專案。
本書將逐一介紹資料在每一道轉換關卡會碰到的難題,所有的資料視覺化,本質上就是一連串的轉換過程,從原始資料(例如HTML表格與清單),歷經無數旅程,最終呈現既現代化、又具有互動性的介面,讓使用者能參與其中,而且因為本書會把成果放在瀏覽器上頭,這應該是個好方式,能夠適當地介紹資料視覺化的關鍵概念與各項工具。我為本書所設下挑戰難題,是要把維基百科網站上面的諾貝爾獎得主資料,經過轉換與精鍊,變成能互動操作的視覺化網頁介面,即便資料相同,但卻會以更易於存取、更吸引人、更加具有參與感的形式呈現。但是,雖然以諾貝爾獎資料作為貫穿本書的範例,的確構成堅實的骨幹,但卻會有多處重複,舉例而言,雖然書中會使用Flask與以MongoDB為基礎的Python-Eve API來把諾貝爾獎得主資料提供給瀏覽器,但我也會示範如何運用Flask-RESTless來存取SQL資料庫,若你從事資料視覺化領域的工作,無可避免,必定得學會如何存取SQL與NoSQL兩大類型的資料庫,而本書站在中立角度,兩者都會介紹。本書所介紹的程式庫,並非都是轉換諾貝爾獎資料所需要的工具,而是我個人認為最為有用、最棒的程式庫,而且我想你也會表達贊同之意。
總結而言,本書要介紹形成鏈狀的各種工具集合,以諾貝爾獎資料視覺化專案為貫穿全書的範例,作為主要敘事的導引;當你覺得有需要時,可隨時深入研讀相關章節,本書不同篇章皆自給自足,所以有此必要,可任意跳到你想要的部份,快速翻閱複習。
本書主要是介紹資料視覺化(data visualization,簡寫dataviz)工具鏈,在網際網路的時代,已經開始佔據主流地位;這套工具鏈的導引原則在於:你從手上資料挖掘出來的珍聞軼事,不論是何種有洞見的資訊,都值得在網路上擁有一個網站,供其他瀏覽器存取,既然能夠放在網站上,也就代表著你可以自由選擇如何散佈成果,可能只供少數幾人存取(使用認證機制或限定為區域網路),或是開放給全世界觀看,這是網際網路現身後,最為關鍵的要點,更是目前資料視覺化領域快速擁抱且支援的能力;這麼說來,資料視覺化領域的未來,一定會有JavaScript參...
目錄
導論
第1章|設置開發環境
Part I 基本工具
第2章|Python與JavaScript程式語言銜接橋樑
第3章|Python讀寫資料
第4章|網站開發入門
Part II 取得資料
第5章|使用Python從網站取得資料
第6章|Scrapy和重量級爬取作業
Part III 使用Pandas清理與探索資料
第7章|NumPy入門
第8章|Pandas初步介紹
第9章|Pandas清理資料
第10章|Matplotlib視覺化資料
第11章|Pandas探索資料
Part IV 提供資料
第12章|提供資料
第13章|Flask與RESTful API
Part V D3與資料視覺化
第14章|想像諾貝爾獎資料的視覺化呈現介面
第15章|建構視覺化介面骨架
第16章|D3入門—用直條圖說故事
第17章|個別得獎視覺化
第18章|D3與地圖
第19章|個別得主資料視覺化
第20章|選單列
第21章|結語
附錄A 從開發走向產品
導論
第1章|設置開發環境
Part I 基本工具
第2章|Python與JavaScript程式語言銜接橋樑
第3章|Python讀寫資料
第4章|網站開發入門
Part II 取得資料
第5章|使用Python從網站取得資料
第6章|Scrapy和重量級爬取作業
Part III 使用Pandas清理與探索資料
第7章|NumPy入門
第8章|Pandas初步介紹
第9章|Pandas清理資料
第10章|Matplotlib視覺化資料
第11章|Pandas探索資料
Part IV 提供資料
第12章|提供資料
第13章|Flask與RESTful API
Part V D3與資料視覺化
第14章|想像諾貝爾...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。