各位同學好,小編接下來為大家分享一些有關 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
Pandas 是什么?
Pandas是一個強大的分析結構化數據的工具集;它的使用基礎是Numpy(提供高性能的矩陣運算);用於數據挖掘和數據分析,同時也提供數據清洗功能。
利器之一 DataFrame:
DataFrame是Pandas中的一個表格型的數據結構,包含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾型等),DataFrame即有行索引也有列索引,可以被看做是由Series組成的字典。
利器之一 Series:
它是一種類似於一維數組的對象,是由一組數據(各種NumPy數據類型)以及一組與之相關的數據標簽(即索引)組成。僅由一組數據也可產生簡單的Series對象。
Numpy
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 數據分析三劍客的使用方式。