學習Python:做數據科學還是網站開發(fā)?

譯者一開始在Python日報上看到原文推薦撬呢,初步看看了伦吠,覺得對于決定學習Python的方向有一定參考價值。不過魂拦,在翻譯過程中毛仪,越來越覺得這其實就是一篇搞Python數據科學培訓的公司寫的軟文,里面寫的內容還是比較淺的芯勘,只適合像我這樣的初學者了解大致情況箱靴。當然,文章提到了Python作為網絡開發(fā)技能的市場需求并不是很高荷愕,這點感覺并不是沒有根據衡怀。作為一篇軟文,它成功地激起了我學習數據科學的興趣路翻,而原因嘛狈癞,自然就是做數據科學工作的工資比一般開發(fā)工作,高很多(按文章中信息圖的數據茂契,比一般崗位的年薪高5萬美刀5啊!5粢薄)真竖! -- <cite>EarlGrey@codingpy</cite>

本文的英文原文地址是:Python for Data Science vs Python for Web Development脐雪,發(fā)布時間?為10月29日。

Python編程語言擁有諸多用于網絡應用開發(fā)恢共、圖形用戶界面战秋、數據分析、數據可視化等工作的框架和特性讨韭。Python可能不是網絡應用開發(fā)的理想選擇脂信,但是正被很多機構廣泛用于評估大型數據集(dataset)、數據可視化透硝、進行數據分析或制作原型狰闪。在數據科學領域,Python編程語言正不斷獲得用戶的親睞濒生,而作為網絡開發(fā)語言埋泵,Python顯得有點過時了。本篇博文罪治,就是要對這兩種截然不同的Python使用方式丽声,進行詳細的對比,并且?guī)椭蠹颐靼滓稽c:如果要利用Python做數據科學工作觉义,并沒有必要了解它用于網絡開發(fā)的部分雁社。

python:web development vs data science

面向數據科學的Python

從頂級金融機構到最小的大數據創(chuàng)業(yè)公司,各行各業(yè)谁撼、各種規(guī)模的機構都在使用Python編程語言支撐業(yè)務運作歧胁。Python作為數據科學編程語言滋饲,不僅受頂級大數據公司歡迎厉碟,還?有眾多技術創(chuàng)業(yè)企業(yè)擁泵。它還位列2015推薦學習的前10種編程語言屠缭。

世上只有兩種編程語言:一種是總是被人罵的箍鼓,一種是從來沒人用的。
-- <cite>Bjarne Stroustrup</cite>

Python屬于前一種呵曹,而且日益被用于數學計算款咖、機器學習和多種數據科學應用。除了性能依賴性強和底層的業(yè)務外奄喂,它能夠做其他任何事情铐殃。利用Python編程語言的最好選擇,就是做數據分析和統(tǒng)計計算跨新。學習面向網絡開發(fā)的Python富腊,需要程序員掌握像Django這樣的多種網絡框架協(xié)助建設網站;但是學習面向數據科學的Python域帐,則要求數據科學家學習如何使用正則表達式和科學計算庫赘被,并掌握數據可視化的概念是整。由于目的、方向不同民假,那些不了解Python網絡開發(fā)的程序員浮入,能很輕松地走上利用Python編程語言做數據科學工作的道路。

Python是一個有著23年歷史的強大動態(tài)編程語言羊异,語言表現力很強事秀。程序員編碼完成后,不需要編譯器即可運行程序野舶。面向網絡開發(fā)的Python支持多種編程范式秽晚,包括結構化編程(structured programming)、函數式編程(functional programming)和面向對象編程(object-oriented programming, OOP)筒愚。Python代碼可以很容易地嵌入到許多擁有編程接口的網絡應用中赴蝇。但是,Python更是開發(fā)學術研究和科學計算程序的絕佳選擇巢掺,這些程序要求運行快速句伶、數學計算精確。

而面向網絡編程的Python陆淀,則要求程序員學習多種網絡開發(fā)框架考余,這個學習難度比較大,因為現有Python網絡開發(fā)框架的文檔不太容易理解轧苫。當然楚堤,不容否認的是,要想利用Python開發(fā)一個動態(tài)網站或網絡應用含懊,學習網絡框架是必需的身冬。

Python網絡開發(fā)框架

目前,Python社區(qū)已經有多種免費的網絡應用開發(fā)框架岔乔,比如:

Django

Django是?幫助完美主義者按時完成工作的Python網絡開發(fā)框架(譯者注:原文是Django is the python web development framework for perfectionists with deadlines酥筝。這也是Django官網上對該框架的描述)。使用Django進行網絡開發(fā)雏门,最適合的場景是開發(fā)那些依靠數據庫驅動嘿歌,同時也具備類似自動化后臺管理界面和模板系統(tǒng)等炫酷功能的應用。對于不需要太多功能的網絡開發(fā)項目來說茁影,Django可能是大材小用宙帝,主要是它的文件系統(tǒng)容易讓人搞混,而且文件目錄結構要求嚴格募闲。使用Django進行Python網絡開發(fā)的公司有紐約時報步脓、Instagram和Pinterest(譯者注:Pinterest聯合創(chuàng)始人Paul Sciarra在Quora上的回答提到了使用Django,Quora地址)。

Flask

Flask是針對初學者的框架沪编,它簡單呼盆,輕量,初學者很快就可以上手開發(fā)單頁網絡應用蚁廓。這個框架并不支持驗證访圃,沒有數據抽象層和其他許多框架所包括的組件。它不是一個全棧開發(fā)框架相嵌,也只用?于小型網站的開發(fā)腿时。(譯者注:其實Pinterest也使用了Flask,只是沒用在整站開發(fā)上饭宾,而是用來開發(fā)API批糟,具體見鏈接。)

CherryPy

CherryPy框架強調要符合Python語言規(guī)范看铆,做到程序員像進行面向對象編程一樣開發(fā)網絡應用徽鼎。它還是諸如TurboGears和Web2py等流行全棧框架的基礎模板引擎弹惦。

還有很多其他框架否淤,包括Pyramid、Bottle和Pylons等棠隐,但是無論Python開發(fā)者使用哪一種框架石抡,他/她都要花精力仔細地研究教程和文檔。

為什么使用Python進行網絡開發(fā)不現實助泽?

Python作為網絡開發(fā)語言啰扛,很可能是一個不太現實的選擇:

  • 面向網絡開發(fā)的Python需要非標準化、昂貴的主機服務嗡贺,尤其是程序員使用流行的Python網絡框架開發(fā)網站時隐解。由于利用PHP進行網絡編程如此的便捷,大部分的用戶沒有興趣在Python上投入太多的精力暑刃。
  • 面向網絡開發(fā)的Python與諸如PHP厢漩、Java或Ruby on Rails等語言不同,不是一個經常需要的技能岩臣。但是面向數據科學的Python卻越來越受歡迎,而且由于它更多地被用于機器學習和其他數據科學程序宵膨,Python更是招聘數據科學家的公司所最看重的技能架谎。
  • 面向網絡開發(fā)的Python已經經歷了較長的發(fā)展,但是它的學習曲線并沒有像PHP這樣的網絡編程語言那么高辟躏。

為什么將Python用于數據科學是最好的選擇谷扣?

Python編程是驅動大數據、金融、統(tǒng)計和數字運算的核心科技会涎,而它的語法卻像英語一樣易懂裹匙。近來,由于擁有多個針對機器學習末秃、自然語言處理概页、數據視覺化、數據探索练慕、數據分析和數據挖掘的插件惰匙,豐富的Python數據科學生態(tài)體系得到了較大的發(fā)展,甚至有將數據科學社區(qū)Python化的趨勢铃将。今天项鬼,面向數據科學的Python已經具備了清洗、轉換和處理大數據的所有工具劲阎。對于數據分析師崗位來說绘盟,掌握Python也是最受歡迎的技能。一名具備Python編程能力的數據科學家悯仙,可以在紐約掙到平均年薪14萬美元的工資奥此。

為什么數據科學家喜歡使用Python語言?

為什么數據科學家喜歡使用Python語言

數據科學家喜歡那些能夠快速輸出原型雁比,幫助他們輕松地記錄下自己的想法和模型的編程環(huán)境稚虎。他們喜歡通過分析巨量的數據集,得出結論偎捎,完成工作蠢终。而Python編程語言則是開發(fā)數據科學應用的多面手,因為它能幫助數據科學家茴她,以最短最優(yōu)的時間進行編碼寻拂、調試、運行并獲取結果丈牢,從而高效地完成工作祭钉。

一名技術嫻熟的企業(yè)數據科學家的真正價值,在于利用多種數據視覺化手段己沛,向公司的不同利益相關者有效地傳遞數據模式和預測慌核。否則,數據科學工作就是一場零和游戲申尼。Python以其優(yōu)良特性垮卓,符合高強度科學計算的幾乎所有方面要求,這使得它成為在不同的數據科學應用之間進行編程的絕佳選擇师幕,原因很簡單:開發(fā)人員僅用一種語言就可以完成開發(fā)和分析工作粟按。面向數據科學的Python將企業(yè)業(yè)務的不同部分連接在一起,提供了一個數據分享和處理的直接媒介。

  • Python遵循統(tǒng)一的設計哲學灭将,注重可用性疼鸟、可讀性,對于數據科學的學習曲線也較低庙曙。
  • Python有很高的可擴展性空镜,且與Matlab、Stata等語言相比矾利,運行更加快速姑裂。
  • 另外,Python生態(tài)系統(tǒng)中還在涌現出更多的數據視覺化庫男旗,以及炫酷的應用編程結構舶斧,目的是使用圖形更好地展現數據分析的結果。Python社區(qū)有著諸如Sci-Kit learn察皇、NumPy茴厉、Pandas、Statsmodel和SciPy等許多優(yōu)秀的數據分析庫什荣。這些庫的數量還在不斷增長矾缓。
面向數據科學的Python庫

面向數據科學中數字處理與科學計算的Python編程

數據分析與Python編程語言十分契合。如果你決定要通過Python語言學習數據科學稻爬,那么你應該考慮的下一個問題嗜闻,就是Python庫中有哪些是可以完成大部分的數據分析工作?接下來桅锄,我們給大家介紹全球的企業(yè)數據科學家都在使用的Python數據分析庫琉雳。

NumPy

Numpy是使用Python開發(fā)的高級(high level)工具的基礎。這個庫不能用于高級數據分析友瘤,但是深入理解Numpy中面向數組的計算翠肘,可以幫助數據科學家有效使用Pandas庫。

SciPy

SciPy主要用于科學計算辫秧,擁有許多不同的模塊束倍,可用于特殊函數、圖像處理盟戏、插值法(interpolation)绪妹、線性代數、常微分方程(ODE)求解器以及其他多種用途抓半。這個庫還可以與NumPy數組一起使用喂急,實現許多高效的數學運算。

Pandas

Pandas是用于數據再加工最好的庫笛求,因為它使得處理遺失的數據、自動數據對齊(data alignment)變得更加簡單,它還支持處理從不同的數據源收集而來的索引數據探入。

SciKit
這個流行的機器學習庫擁有多種回歸狡孔、分類和聚類算法,還支持gradient boosting蜂嗽、向量機苗膝、樸素貝葉斯模型和邏輯回歸。這個庫還被設計成能夠與NumPy和SciPy進行交互植旧。

Matplotlib

這是一個二維繪圖庫辱揭,有著交互性很強的特性,生成的圖?表可以放大病附、推移问窃,并且能夠用于發(fā)行刊物印刷出版。而且完沪,還支持多平臺的交互環(huán)境域庇。

Matplotlib、NumPy和SciPy是科學計算的基礎覆积。還有許多其他的Python庫听皿,諸如用于網絡挖掘的Pattern,用于自然語言處理的NLTK宽档,用于深度學習的Theano尉姨,用于爬取網絡的Scrappy,IPython吗冤,Statsmodels又厉,Mlpy等。對于初學Python數據科學的人欣孤,他們需要很好地掌握上面提到的優(yōu)秀數據分析庫馋没。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市降传,隨后出現的幾起案子篷朵,更是在濱河造成了極大的恐慌,老刑警劉巖婆排,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件声旺,死亡現場離奇詭異,居然都是意外死亡段只,警方通過查閱死者的電腦和手機腮猖,發(fā)現死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赞枕,“玉大人澈缺,你說我怎么就攤上這事坪创。” “怎么了姐赡?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵莱预,是天一觀的道長。 經常有香客問我项滑,道長依沮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任枪狂,我火速辦了婚禮危喉,結果婚禮上,老公的妹妹穿的比我還像新娘州疾。我一直安慰自己辜限,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布孝治。 她就那樣靜靜地躺著列粪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谈飒。 梳的紋絲不亂的頭發(fā)上岂座,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音杭措,去河邊找鬼费什。 笑死,一個胖子當著我的面吹牛手素,可吹牛的內容都是我干的鸳址。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼泉懦,長吁一口氣:“原來是場噩夢啊……” “哼稿黍!你這毒婦竟也來了?” 一聲冷哼從身側響起崩哩,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤巡球,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后邓嘹,有當地人在樹林里發(fā)現了一具尸體酣栈,經...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年汹押,在試婚紗的時候發(fā)現自己被綠了矿筝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡棚贾,死狀恐怖窖维,靈堂內的尸體忽然破棺而出榆综,到底是詐尸還是另有隱情,我是刑警寧澤陈辱,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布奖年,位于F島的核電站细诸,受9級特大地震影響沛贪,放射性物質發(fā)生泄漏。R本人自食惡果不足惜震贵,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一利赋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猩系,春花似錦媚送、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拿霉,卻和暖如春吟秩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绽淘。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工涵防, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沪铭。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓壮池,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杀怠。 傳聞我的和親對象是個殘疾皇子椰憋,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內容