作為一名數據科學家Python需要掌握到什麼程度?


感謝濤哥邀請。。。。

之前一直用R,最近正在學python,因為沒有什麼工作經驗,也只能談談自己的感悟。

數據科學家算是統計師和程序員的結合體,來源也主要是這兩個專業的畢業生。不過這兩個群體的思維方式還真的是不一樣。可以認為,統計的人更加偏愛R,程序員更偏愛python。

其實python有了pandas才能使數據分析變的像R那樣簡單。數據科學家能把python用的像R一樣我覺得就好了。不過如果除了數據分析,公司要求代碼的重用性,或者直接嵌入到產品中(比如網站推薦系統),那麼對編程的要求就更高了。

其實數據科學家在做數據分析的時候,起碼80%的時間是在做數據整理和清洗,同意 @唐學偉說的熟練使用pandas就好,這意味著能熟練的清理掉不必要數據,讀取主要的數據格式文件,數據的合併匯總歸類和切片等等。數據整理好比學編程要最起碼能控制if-else和for循環,命令簡單但是實用。

數據整理好了,對於各種演算法包里的函數,其實就是input output的問題了。

另外一個常用的就是數據可視化也就是繪圖了(目前主要是matplotlib)。這個步驟對於input的數據就是數據探索化的過程,查看數據是否有不合理性,數據的分布等等,對於output的數據就是結果呈現的過程,這樣更有助於分析。

總而言之,數據科學家熟悉python的基本語法,熟練pandas(基於numpy),能利用python熟練的獲取數據,整理數據,並會使用matplotlib展現數據是一個基本的要求。對於要做科學計算或者機器學習來說,數據整理好了,編程不是問題,數學才是。


掌握到熟練使用pandas為止

有人說掌握R即可,我不太同意。

據我所知,目前北美幾大著名創業公司採用的都是scikit,比如airbnb、Strip等大量使用機器學習的公司都是採用Python下的Scikit。

可以參照如下鏈接

Stripe:http://www.slideshare.net/MichaelManapat/randomness-and-fraud

Airbnb:Architecting a Machine Learning System for Risk


pattern_classification/python_data_libraries.md at master · rasbt/pattern_classification · GitHub


這得看工作需求了,如果你所在的部門/實驗室都用R/SAS/java/c++之類的,會用py進行預處理基本就可以了;如果主要用py來進行挖掘,需要掌握的就多一些,比如:numpy/scipy/mattplotlib/ipython/scikit-learn等


不同意R就足夠了,也不同意pandas就足夠了,哪怕只做數據處理

只用這兩個工具,永遠不會明白什麼是數據結構,也無法具有程序員的思維方式,DS需要統計+計算機。數據科學家這麼高端的名詞,不是只拿工具做上層的應用

業務分析做的好,可以說是好的分析師,程序編的溜,可以說是好的工程師。科學家起碼要有點區別吧


對於絕大多數的數據分析問題

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

就足夠了

pandas的DataFrame結構作為數據的容器,pandas和numpy提供數據處理的函數和方法,matplotlib用來作圖

剩下的,比如scipy在求解最優化問題或者數值積分有時會用一下但是用的不多;要是樓主還玩機器學習的話再加上scikit-learn

總之,最最常用的還是一開頭列的那三個


學點 AWK 倒是真好用,python 搞明白 list dict tuple 就可以了。


一個數據科學家不一定非得用Python. Ta可以用R, Matlab, Java, C....但關鍵的是要熟練地掌握一門編程語言, 並且能為之服務。至於熟練到什麼程度, 我個人的意見是越熟練越好。 我見過一些數據科學家沒有足夠的編程技巧, 即使他們有什麼想法也不能準確實現, 總是在細節上卡住, 比如不能根據情況選擇正確的數據結構, 導致程序效率低下。


會不會都行. R在這方面屬於新秀, 到目前為止這個領域還是spss, stata, sas, matlab和R的天下.

如果一定要選python, 那麼也僅需要掌握基本語法, 常用數據結構和關於數據處理還有統計的那些包就夠了.


推薦閱讀:

處理數據時不進行歸一化會有什麼影響?歸一化的作用是什麼?什麼時候需要歸一化?有哪些歸一化的方法?
如何評價小米 2013 上半年業績,相對其他公司的成長有哪些可參照性?
自己寫了一個C++矩陣計算庫,想做一下全面測試,該如何進行?
小龍蝦為什麼這麼火以及怎麼火遍全國的?

TAG:Python | 數據挖掘 | 數據分析 | 數據科學家 |