官术网_书友最值得收藏!

第一部分 NumPy篇

第1章 數(shù)據(jù)分析概述

1.1 數(shù)據(jù)分析簡介

1.1.1 數(shù)據(jù)科學是什么?

隨著大數(shù)據(jù)及人工智能時代的來臨,數(shù)據(jù)科學變得越來越重要。所謂數(shù)據(jù)科學,用最簡單的一句話來解釋就是:處理數(shù)據(jù)的科學。

網(wǎng)絡爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化、機器學習……

在日常學習或工作中,我們或多或少都聽過上面這些名詞。但是大多數(shù)人只停留在了解上,并不知道這些名詞的背后其實是有著深層次聯(lián)系的。如果想要從數(shù)據(jù)中提煉出有用的信息,一般流程是下面這樣的:

獲取數(shù)據(jù)→處理數(shù)據(jù)→展示數(shù)據(jù)。

網(wǎng)絡爬蟲用于獲取數(shù)據(jù),數(shù)據(jù)分析用于處理數(shù)據(jù),數(shù)據(jù)可視化用于展示數(shù)據(jù)。而機器學習則是進一步對數(shù)據(jù)進行建模,以便進行預測分析。對于數(shù)據(jù)科學來說,它的工作流可以總結成“OSEMN”,如表1-1和圖1-1所示。

表1-1 數(shù)據(jù)科學的工作流

圖1-1是一張非常有價值的圖,從中我們可以得到非常重要的兩點信息:①Python不同領域之間的關系;②不同領域都會用到什么庫。有了這張圖,我們在接觸Python各個領域的時候,會有一個清晰的學習路線。

圖1-1

1.1.2 數(shù)據(jù)分析是什么?

數(shù)據(jù)分析,也就是數(shù)據(jù)科學中“Scrub”(清洗數(shù)據(jù))這一環(huán)節(jié)。它指的是在統(tǒng)計學理論的支持下,使用合理的工具對相關數(shù)據(jù)進行一定程度的處理,然后把隱藏在數(shù)據(jù)中的重要信息提煉出來。

通過數(shù)據(jù)分析,我們可以挖掘出數(shù)據(jù)的內在規(guī)律及有用信息,進而幫助企業(yè)創(chuàng)造新的商業(yè)價值、提高運營效率、獲得持續(xù)競爭的優(yōu)勢等。數(shù)據(jù)分析這種方式更加科學準確,遠不是只憑個人經(jīng)驗(也就是“我覺得”)這種方式能比的,所以現(xiàn)在的企業(yè)越來越重視數(shù)據(jù)分析。

可能很多讀者都聽過“啤酒和紙尿褲的故事”(見圖1-2)。為什么沃爾瑪將看似毫不相干的啤酒和紙尿褲擺在一起銷售,并且它們的銷量雙雙增長呢?這是因為沃爾瑪很好地運用了數(shù)據(jù)分析手段,挖掘出了啤酒和紙尿褲之間的潛在關系。

圖1-2

除了商業(yè)領域,數(shù)據(jù)分析在其他領域也有著大量的應用,例如科學研究、社會調查、體育競技等。

1.1.3 應該學些什么?

如果想要成為一名真正的數(shù)據(jù)分析師,那么至少要掌握這3個工具:Excel、Python、SQL。由于本書針對的是Python方面的內容,所以Excel和SQL這兩個工具就不在本書中展開介紹了。

那么問題來了:學習Python數(shù)據(jù)分析,我們應該學些什么呢?對于Python數(shù)據(jù)分析來說,它有非常重要的3個庫:NumPy、Pandas、Matplotlib。這3個庫又被叫作Python數(shù)據(jù)分析“三劍客”(見圖1-3),本書就是緊緊圍繞這3個庫來展開介紹的。

圖1-3

可能有些讀者會問:“既然Excel可以做數(shù)據(jù)分析,為什么還要使用Python呢?”雖然Excel好用,但是它更適合處理中小量數(shù)據(jù),而不適合處理大量數(shù)據(jù)(也就是所謂的大數(shù)據(jù))。Python處理大量數(shù)據(jù)的效率,遠遠不是Excel能比得上的。

除了執(zhí)行效率比Excel高之外,Python的工作量也少很多。業(yè)界有一句比較有意思的話:“Excel十分鐘,Python兩行代碼。”這句話恰恰說明了Python的簡單高效。

最后需要說明的是,Python雖然是一門編程語言,但是它在數(shù)據(jù)分析上實現(xiàn)的功能和Excel是非常相似的。所以,我們在學習Python數(shù)據(jù)分析時,應該和Excel多多進行對比,這樣更能加深理解和記憶,如圖1-4所示。

圖1-4

【常見問題】

對于Python來說,不同的功能需要使用不同的庫,為什么它不將這些功能全部集合到自身呢?

這是因為Python的設計者從來沒想過要包攬所有的活兒,Python本身只提供基礎語法及一些常用的功能模塊。如果把所有功能都集中到Python上面,那么Python就會變得非常“臃腫”并且難以維護,運行速度也會變得非常慢。

對于其他功能,Python使用“分工”的方式來管理,不同的功能使用不同的庫。例如網(wǎng)絡爬蟲可以使用Scrapy,而數(shù)據(jù)分析可以用Pandas等。分工才能更好地管理,在實際開發(fā)中,需要用到什么功能,導入對應的庫即可。

對于Python來說,有那么一句話:學習Python,其實就是學習Python的各種庫。細想一下,這句話也是有一定道理的。

主站蜘蛛池模板: 东丰县| 藁城市| 兰西县| 公安县| 商河县| 宁陕县| 鄂托克旗| 六枝特区| 廊坊市| 连城县| 贺州市| 综艺| 遵化市| 濉溪县| 宜春市| 长乐市| 缙云县| 遂平县| 新泰市| 巢湖市| 德惠市| 山西省| 枞阳县| 曲沃县| 前郭尔| 原平市| 台东市| 咸宁市| 白城市| 三穗县| 长顺县| 航空| 京山县| 华池县| 深圳市| 万荣县| 仙游县| 兴隆县| 大英县| 柞水县| 潞城市|