學完了Python基礎後,你可以嘗試這些方向!

上海千鋒發表於2020-08-20

  Python作為人工智慧和資料分析第一語言,使得Python程式設計師成了當前人才市場的“搶手貨”,工資待遇也水漲船高。所以不管是應屆生還是轉行的人都選擇了學習Python!

  Python是門神奇有魅力的語言,確實簡單易用,能證明這一點的就是:很多人只要學完了Python基礎,就能參與真實專案開發,90%的程式碼甚至不用查資料,利用簡單的if/for/while/函式就全部搞定了。

  然而隨著專案的需求變得複雜,很多人不知不覺的在重複的造輪子。比如多資料的關聯join、彙總統計、結果存入excel檔案等等,尤其是對於多資料來源(來自csv/txt/mysql)的關聯join操作,自己從零開始用Python實現,比如把小檔案載入到記憶體dict,遍歷大檔案去做dict查詢實現JOIN,程式碼寫起來刷刷的確實很爽。

  然而有一天,當我發現這樣多資料關聯的需求,在spark、pandas等類庫中就是一個簡單現成的函式的時候,我非常激動,感嘆為什麼沒有早點知道這些現成的技術。

  Python的類庫真的很多,其中成體系的可以稱之為“資料科學技術棧”,這麼多的類庫即使不都學一下,也要了解它們分別是做什麼的,這樣將來遇到類似的需求的時候不用從頭自己實現。

 

  1、Python爬蟲

  代表技術為requests/beautifulsoup、scrapy、selenium;用於從網上爬取小說/文章/視訊,實現資料分析或自己的內容聚集類應用。

  世界上80%的爬蟲是基於Python開發的,學好爬蟲技能,可為後續的大資料分析、挖掘、機器學習等提供重要的資料來源。

  2、Python Web開發

  代表技術為flask、django、jinjia2;用於提供小程式、APP、網頁等後臺服務。

  Python的 Web框架百花齊放,目前比較流行的框架有大包大攬的Django,小巧靈活的Flask、 Bottle,還有效能高效的非同步框架Tornado、 sanic。這麼多框架只要選擇一個,閱讀他的文件,就可以很輕鬆的搭建一個web app,完全不需要去管他實現的原理。

  3、Python數值計算

  數值計算是資料探勘、機器學習的基礎。Python提供多種強大的擴充套件庫用於數值計算。代表技術有Numpy、SciPy。

  Numpy:基礎的數學計算模組,以矩陣為主,純數學。

  SciPy:基於Numpy,提供方法(函式庫)直接計算結果,封裝了一些高階抽象和物理模型。比方說做個傅立葉變換,這是純數學的,用Numpy;做個濾波器,這屬於訊號處理模型了,在Scipy裡找。

  當你學習機器學習/深度學習開始深入,發現大量的矩陣運算難以理解的時候,你得回頭學習下Numpy這個技術。

  4、Python資料分析

  學Python的同學裡估計有30%以上是為了做資料分析師或者資料探勘,所以資料分析相關的庫,你一定要知道。

  代表技術為pandas,這是我認為Python最牛的庫,囊括了多資料來源讀取/寫入、資料清洗/過濾/聚合/彙總/透視/時間序列等等大量的功能特性。

  5、Python資料視覺化

  電商行業、消費品行業數字滾動大屏;旅遊公司的人群行動軌跡預測圖表;媒體運營人員使用者畫像、閱讀習慣分析;……這些都是資料的作用,而資料視覺化正是將資料簡化、從中提取規律的利器。

  不需要你有額外的JS前端技術,你也能學會選擇、製作分類散點圖、分類分佈圖、分類統計估計圖、分類子圖等各種視覺化操作方案。代表技術有Matplotlib、Pyecharts、Seaborn、Plotly、Bokeh等。

  6、Python大資料處理

  大資料領域,當前最成熟的技術應該是spark,相較於Scala語言而言,Python具有其獨有的優勢及廣泛應用性,因此Spark也推出了PySpark,在框架上提供了利用Python語言的介面,為資料科學家使用該框架提供了便利。

  而PySpark是Spark的Python工具包,使用這個庫的好處是你可以無縫和numpy/pandas/繪相簿對接,將大資料的結果進行最終的視覺化分析(java/scala做不到這個)。

  7、Python傳統機器學習

  當前傳統機器學習的巔峰技術是xgboost,而sklearn中提供大量的易用函式使它成為方便的“機器學習/深度學習的工具函式庫”。

  8、Python深度學習

  深度學習,是人工智慧領域的一個突出的話題,被眾人關注已經有相當長的一段時間了。它備受關注是因為在計算機視覺(Computer  Vision)和遊戲(Alpha GO)等領域有超越人類能力的突破。

  這其中的一些庫我比別人用的多很多,尤其是Keras、mxnet和sklearn-theano。其他的一些我是間接的使用,比如Theano和TensorFlow(庫包括Keras、deepy和Blocks等)。另外的我只是在一些特別的任務中用過(比如nolearn和他們的Deep Belief Network implementation)。

  以上是對Python幾個應用領域類庫的總結。

相關文章