本文從個人的經歷出發,談談對r和python的認識,因本人剛剛畢業小學僧一枚工作資歷尚淺,且r和python基本上都是自學的只能算馬馬虎虎入門級別,所以文中所述僅僅小蛙井底之言。
扯了這麼多,終於要等到主角之一r語言出場了。r語言是我讀研階段接觸的,因為導師很推崇它,還有這門課。本科最後階段衝刺了一下讀了研,讀研後又回到解放前,課堂上沒怎麼好好學,但基礎還是掌握的。後來上文提到的第乙份工作除了excel另乙個工具就是r了。早期就是r結合excel做一些資料的簡單處理,包括做做統計計算和畫畫圖,小僧的**也是借助r這個工具做了乙個模型完成的。後來是通過r連線hive從hadoop裡面提取資料,做一些簡單的etl之後儲存到自用的mysql資料倉儲裡出一些報表。在這個工程中我的r能力也得到了長足進步,這歸功於度娘和各種部落格論壇。當然,當時的老大也是比較喜歡使用r和研究r的,我的一本r參考書基本上是他拿過去放到他的桌子上的,還在上面畫了各種道道。因為第乙個飯碗工作並不是主要偏向於技術,小僧也想找乙個能繼續成長提高的地方,就在轉正後最終決定離職。
離職後小僧就開始接觸本文的另乙個主角python了。小僧離職前就參加過同公司另乙個部門的面試,當時面試官對我其他方面感覺還是不錯的,但最後問到我會不會python,我說沒接觸過,然後就沒有結果了。離職後小僧在家休息了大概乙個半月才到的現在的公司。這乙個半月,小僧一邊投簡歷一邊在家韜光養晦。在這個過程中又堅定了小僧學python的決心。小僧投的另乙個很想去的職位和對方電面了大概乙個小時,最後還是在python上歇菜了。於是我就在家研究python,也在自己的簡歷上偷偷的塞上了python,不久又撈到乙個很好的面試機會。面試時面試官提了乙個很簡單的邏輯處理的題,讓我用python寫,但因為當時畢竟對python是是而非,而且本能地一看到題目就想到了用r處理的方法。於是我嘗試用r笨拙地處理了一下,當時緊張了一下,結果也是跪了。其間翻招聘**再投了一些r相關的招聘崗位,但一方面這種崗位本來就少,另一方面我對工作地域有限定,基本上都石沉大海了。再後來小僧經同學內推進入某軟體公司,在某專案組做運維,維護資料庫和做報表開發。入職後小僧本來想繼續使用r語言,但了解後才發現我是他們招的第乙個會r的,而且他們未來估計也不會再招用r的。按照pm的說法,r是乙個小語種,可遷移性和替換性太小,如果我走了我的工作其他人無法交接。最終,在他的要求下,我開始真正在工作中使用python。當然,我這個崗位的「前任」留給我的「遺產」也是若干python指令碼。至此開始,我一有空就繼續自學python,慢慢地python也取代了r在我心中的位置。
寫到這裡,應該做一下對r和python的介紹。雖然如果大家接觸和使用其一或者其二的話,當然比小僧更熟悉。「r是乙個用於統計計算和製圖的免費軟體環境」,這來自小僧對r官網首頁(定義的拙劣自譯。「python是乙個讓你的工作快捷,整合系統更加有效的程式語言」,同樣來自小僧對python官網首頁(定義的拙劣自譯。對比之下就非常明確了,r擅長的是統計分析,純粹和侷限;python就是程式語言。實際使用中,r有它自己的優勢,那就是各種強大且數不勝數的統計包,可以實現包括經典統計和現代機器學習在內的各種資料分析需求,因為它的open source,程式能得到很好地維護和擴充套件,另外,它的繪圖能力也不容小覷。python也是開源的,實現數理統計主要是借助一些第三方包,例如pandas、scikit-learn、statsmodels和matplotlib等。這些包基本上囊括了常用的統計模型,如果要做資料分析,簡單地去看看官方文件熟悉一下它們的api,也基本上能很快掌握。因此,就涉及到乙個二者哪個好學一點的問題。就我而言覺得python更好學一點。也許是因為python學的晚起點好一點已經有一定的基礎,而且是在工作中學以致用用中而學,前面講過學r是在課堂上心猿意馬的環境下。當然,另外乙個原因其實就是兩種語言各自的特點,python語言乙個很大的特點就是**簡潔而又格式嚴格,可讀性很強。
最後,回到文章的正題上,為了處理資料到底該學哪門語言。這個其實要因人而異了,而且小僧也不能妄下結論。當你在用最前沿的技術大費周折做完對資料的處理卻沒有得到老闆想要的東西的時候,也許真正的大神已經用excel完成了資料探勘。所以,工作中哪種工具方便快捷又能很好地實現需求,就學它用它。就個人經歷而言,python畢竟是一門程式語言,它既能是r又能是python;相反地,r只能是r而不能是python。所以,如果是乙個計算機專業的學生或者以程式猿為人生理想,當然學python了。如果是其他行業,而且工作性質更偏向於資料分析,有r就足夠了。
為了偷懶的批處理
每天上班第一件事是開啟兩個 以及兩個泡泡,一是為了公升級 泡泡公升級可以發簡訊,公升級不知道有什麼用 二是為了保號 有乙個 號是7位的,怕久了不用就被系統收回了 泡泡的使用者名稱和密碼是可以儲存的,執行了我直接登陸就是了。的雖然也可以儲存,但是儲存了後下次就是自動登陸了,想登陸第二個帳戶就得切換使用...
開始學習資料結構啦,為了工作5555555
由於導師方向的轉換,最近可能沒有計算機視覺方向的部落格更新了 雖然也沒有什麼人看哈哈哈哈哈哈 但是我會利用晚上不搬磚的時候偷偷啃花書理論的,我的理想還是找計算機視覺相關方面的工作的。本科不是計算機,對資料結構 資料庫這些都不太了解,看到找工作的師兄師姐都在看,而且說很重要,我就提前開始看吧,雖然我覺...
資料處理 流資料處理利器
流處理 stream processing 是一種計算機程式設計正規化,其允許給定乙個資料序列 流處理資料來源 一系列資料操作 函式 被應用到流中的每個元素。同時流處理工具可以顯著提高程式設計師的開發效率,允許他們編寫有效 乾淨和簡潔的 流資料處理在我們的日常工作中非常常見,舉個例子,我們在業務開發...