1. 程式人生 > >小白學 Python 資料分析(1):資料分析基礎

小白學 Python 資料分析(1):資料分析基礎

各位同學好,小編接下來為大家分享一些有關 Python 資料分析方面的內容,希望大家能夠喜歡。

人工植入廣告:

PS:小編最近兩天偷了點懶,好久沒有發原創了,最近是在 CSDN 開通了一個付費專欄,用來發布去年寫的沒有出版的書稿,感興趣的同學可以去看下(已經上傳了一部分,第一章設定為了試讀章節),主要是講 SpringCloud 微服務方面的一些內容,整體排版下來如果是印在實體書上應該會超過 400 頁,也算是一本比較厚的書,當然小編這個專欄的價格並不貴,只要 9.9 ,整體是沒有經過審校的,可能錯別字會比較多,當然,就這個價格,還要啥自行車呢。

資料分析是什麼?

咱們言歸正傳哈,在所有事情的之前,先了解一件事情,什麼是資料分析?

有問題當然是先百度啊,這還用問!

資料分析是指用適當的統計分析方法對收集來的大量資料進行分析,將它們加以彙總和理解並消化,以求最大化地開發資料的功能,發揮資料的作用。資料分析是為了提取有用資訊和形成結論而對資料加以詳細研究和概括總結的過程。

資料分析的數學基礎在20世紀早期就已確立,但直到計算機的出現才使得實際操作成為可能,並使得資料分析得以推廣。資料分析是數學與電腦科學相結合的產物。

百度的這個釋義看著有點沒講人話,小編來簡單的總結匯總下:

資料分析這個東西有一個很重要的點是:大量資料 這個劃重點了啊,要考的。

至於多大的資料叫大量資料,其實這個也沒有一個準確的定義,可以認為 1MB 的資料是大量資料,也可以認為 1GB 的資料是大量資料,也可以認為 1PB 的資料是大量資料,但是不管怎麼說,這個資料量一定要大,不能是幾十條几百條的資料,這種數量級的資料一眼看到底。

接下來是第二個點:數學,對的,沒看錯,是數學,尤其是統計學,當我們擁有了大量的資料以後,使用數學的方式對資料進行一定程度的處理,接下來結合具體的業務分析資料,達到最終我們所需要的目的,比如對一些業務進行監控、提高企業的經營效率、優化企業的管理結構等等。

在沒有計算機的年代,大量的資料即使有數學的支援,進行大資料分析也是一件很難的事情,多的不說,各位同學先思考一下,如果不借助計算器,如果有 1百萬 個數據,需要簡單的畫一個折線圖,人工處理需要多長時間。

所以百度百科最後一句話是資料分析是數學和電腦科學的相結合的產物。

就業前景

到這裡肯定很多同學會問,資料分析這個職業的工作好不好找哇,這個職業每天主要是做什麼呢?

關於這個問題,其實最好解決,直接上招聘網站看下相關的招聘資訊和對這個崗位的要求就好了。

小編簡單查了下 51Job 的上海地區的資料分析師的招聘資訊,忽然發現一件事兒,感覺可能要砸很多培訓機構的飯碗了,好像並沒有大量的資料分析師的崗位要求掌握 Python 這個技能樹啊。

簡單看幾個 JD :

公司資訊小編抹掉了,從招聘資訊中看到,好像資料分析和 Python 並沒與什麼實際的聯絡啊,對了,確實沒有什麼確切的關係,只能說是在處理大資料的是時候,現在使用 Python 比較方便,如果資料量沒那麼大的話,使用 Excel 一樣能處理的。

如果學這個是為了找一份資料分析的工作,現在可以出門左轉了,小編鄭重宣告,看了小編的文章是真的找不到一份資料分析的工作的。

如果是抱著技多不壓身的目的,做一點提前的只是儲備,那麼可以接著往下看了。

為什麼需要資料分析?

在聊這個問題之前,我們先看幾個經典的大資料分析的案例:

1. 啤酒與尿布

全球零售業巨頭沃爾瑪在對消費者購物行為分析時發現,男性顧客在購買嬰兒尿片時,常常會順便搭配幾瓶啤酒來犒勞自己,於是嘗試推出了將啤酒和尿布擺在一起的促銷手段。沒想到這個舉措居然使尿布和啤酒的銷量都大幅增加了。如今,“啤酒+尿布”的資料分析成果早已成了大資料技術應用的經典案例,被人津津樂道。

2. Google成功預測冬季流感

2009年,Google通過分析5000萬條美國人最頻繁檢索的詞彙,將之和美國疾病中心在2003年到2008年間季節性流感傳播時期的資料進行比較,並建立一個特定的數學模型。最終google成功預測了2009冬季流感的傳播甚至可以具體到特定的地區和州。

資料分析可以把隱藏在大量資料背後的資訊提煉出來,總結出來資料的內在規律。

資料分析這種方式逐步在取代企業中以前的那種拍腦袋的決策方式,因此越來越多的企業開始重視資料分析,這裡從資料分析的招聘崗位上也可以看到。

工具

上面說了這麼多資料分析的背景,其實只是想大致讓各位同學瞭解下什麼是個資料分析,不想看直接跳過也沒啥關係。

關於資料分析的工具這個就是一個仁者見仁智者見智的事情了,工具實在是太多了,從 Excel 到各種各樣的資料, SQL 語句, R 語言以及我們計劃在未來介紹的 Python 。

具體工具的選擇更多是看使用場景,如果在資料量不大的情況下,如果你正好對 Excel 的使用比較熟悉,那麼 Excel 就是最優解,這個毋庸置疑。

如果資料量已經非常大了,儲存在各種各樣的結構化資料庫中,那麼 SQL 語言就是不可或缺的工具,在如果資料量已經非常大了,儲存在大資料叢集上,那麼使用 R 語言或者 Python 或許是一個不錯的選擇。

在 Python 中,有三個工具包被稱為資料分析三劍客: Pandas 、 Numpy 、 Matplotlib 。

Pandas

官網:https://pandas.pydata.org/

中文網:https://www.pypandas.cn/

Pandas 是什麼?

Pandas是一個強大的分析結構化資料的工具集;它的使用基礎是Numpy(提供高效能的矩陣運算);用於資料探勘和資料分析,同時也提供資料清洗功能。

利器之一 DataFrame:

DataFrame是Pandas中的一個表格型的資料結構,包含有一組有序的列,每列可以是不同的值型別(數值、字串、布林型等),DataFrame即有行索引也有列索引,可以被看做是由Series組成的字典。

利器之一 Series:

它是一種類似於一維陣列的物件,是由一組資料(各種NumPy資料型別)以及一組與之相關的資料標籤(即索引)組成。僅由一組資料也可產生簡單的Series物件。

Numpy

官網:https://numpy.org/

中文網:https://www.numpy.org.cn/

Numpy 是什麼?

NumPy是使用Python進行科學計算的基礎軟體包。除其他外,它包括:

  • 功能強大的N維陣列物件。
  • 精密廣播功能函式。
  • 整合 C/C+和Fortran 程式碼的工具。
  • 強大的線性代數、傅立葉變換和隨機數功能。

利器之一 Ndarray:

NumPy 最重要的一個特點是其 N 維陣列物件 ndarray,它是一系列同類型資料的集合,以 0 下標為開始進行集合中元素的索引。ndarray 物件是用於存放同類型元素的多維陣列。ndarray 中的每個元素在記憶體中都有相同儲存大小的區域。

利器之一 切片和索引:

ndarray物件的內容可以通過索引或切片來訪問和修改,與 Python 中 list 的切片操作一樣。ndarray 陣列可以基於 0 - n 的下標進行索引,切片物件可以通過內建的 slice 函式,並設定 start, stop 及 step 引數進行,從原陣列中切割出一個新陣列。

Matplotlib

官網:https://www.matplotlib.org/

中文網:https://www.matplotlib.org.cn/

Matplotlib 是什麼?

Matplotlib 是一個 Python 的 2D 繪相簿,它以各種硬拷貝格式和跨平臺的互動式環境生成出版質量級別的圖形。

Matplotlib 能幫你?

繪製線圖、散點圖、等高線圖、條形圖、柱狀圖、3D 圖形、、甚至是圖形動畫等等。

因為小編是要分享 Python 相關的內容,那麼當然接下來的文章將會圍繞上面這三個工具展開,我們會詳細的聊聊這個 Python 資料分析三劍客的使用方式