Python數據科學(一)- python與數據科學應用(Ⅰ)
傳送門:
Python數據科學(一)- python與數據科學應用(Ⅰ)
Python數據科學(二)- python與數據科學應用(Ⅱ)
Python數據科學(三)- python與數據科學應用(Ⅲ)
Python數據科學(四)- 數據收集系列
Python數據科學(五)- 數據處理和數據採集
Python數據科學(六)- 資料清理(Ⅰ)
Python數據科學(七)- 資料清理(Ⅱ)
1.數據科學簡介與應用
數據科學主要以統計學、機器學習、數據可視化以及(某一)領域知識為理論基礎,其主要研究內容包括數據科學基礎理論、數據預處理、數據計算和數據管理(來自百度百科)。
1.資料科學所要具備的能力
- 統計(Statistic)
- 單變數分析、多變數分析、變異數分析
- 數據處理(Data Munging)
- 抓取數據、清理數據、轉換數據
- 數據可視化(Data Visualization)
- 圖表、商業智能系統
2.數據科學主要分為以下幾個步驟
按職能來拆分可分為數據科學家和數據工程師, 其中數據科學家主要負責前三步、而數據工程師則負責後兩步。
2.Python與數據科學
1.python語言
Python是什麼,請直接閱讀鏈接第一部分。
- 通過對比,可以突出python的簡單易用
#使用JAVA輸出Hello World class test{ public static void main(String args[]){ System.out.println("Hello World"); }}#使用python語言輸出Hello World 僅需一行代碼print("Hello World")
2.python具備完整的數據分析套件
- 如果需要做統計科學計算,python中具備Numpy、Scipy、statsmodels.
- 如果需要進行深度學習,又可以使用TensorFlow、MXNET,它們都有python的介面
- 做結構化數據處理與分析,又可以用Pandas
- 對大數據進行處理,可以使用PySpark
- 機器學習, python上又有Scikit-learn
3.安裝Anaconda
看過我之前文章的同學都知道,我一直用的是python2.7 最早也使用過3.5,現在卻要帶大家安裝Anaconda,原諒我當初學習python的時候太年輕,Python易學,但用好卻不容易,其中比較頭疼的就是包的管理和Python不同版本的問題,特別是當你使用Windows的時候。然後就出現了發行版的Python(比如Anaconda),發行版最直接的好處就是將python和許多常用的package打包,方便我們使用。接下來我帶大家安裝Anaconda.
也可以百度搜索Anaconda
根據自己的電腦系統選擇
建議安裝使用Python3,理由如下
- python3和python2有很多語法的差異,具體參考解釋 Python 2 和 Python 3 的版本之間差別
- Python語言作者Guido van Rossum郵件通知Python 2.7支持時間延長到2020年,到時候將不再進行維護
然後根據自己電腦進行32/64位的下載。
下載完畢安裝就好,記得環境變數那一項要勾選
安裝完畢後再窗口會看到帶有Jupyter notebook
4.使用Jupyter notebook
Jupyter Notebook(此前被稱為 IPython notebook)是一個互動式筆記本,支持運行 40 多種編程語言。Jupyter Notebook 的本質是一個 Web 應用程序,便於創建和共享文學化程序文檔,支持實時代碼,數學方程,可視化和 markdown。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等等。這也是我們為什麼要使用它的原因。
安裝好Anaconda,打開cmd,輸入Jupyter notebook
點擊New,新建一個文件
可以通過按鈕或者快捷鍵運行代碼
5.Python 3 語法
1.變數類型
和其他語言一樣,python3有六個標準的數據類型:
- Number(數字)
- String(字元串)
- List(列表)
- Tuple(元組)
- Sets(集合)
- Dictionary(字典)
- 其中數字包括int、float、bool、complex(複數)。
- 內置的
type()
函數可以用來查詢變數所指的對象類型。此外還可以用Python的自省 isinstance 來判斷
>>>a = 0609>>> isinstance(a, int)True>>>
2.列表
- Python內置的一種數據類型是列表:list。
- list是一種有序的集合,可以隨時添加和刪除其中的元素。
- 序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
- 列表可以存放各種類型的數據
#設置一個listli = [304,12,999,46,405]#查看list的相關功能使用dir()dir(li)
#查看list的長度>>>len(li)5#查看list內容>>>print(li)[304,12,999,46,405]#通過下標取值>>>li[0]304>>>li[-1]405>>>li[0:3][304,12,999]#列表增加>>>li.append(609)>>>print(li)[304,12,999,46,405,609]#列表擴展extend 接受一個參數,這個參數總是一個 list,並且把這個 list 中的每個元素添加到原 list 中>>>li.extend([xlm,love])>>>print(li)[304,12,999,46,405,xlm,love]#list排序>>>li.sort>>>print(li)[12, 46, 304, 405, 999, xlm, love]#將一個列表降序排列>>>li = [304,12,999,46,405]>>>li.sort(reverse=True)>>>print(li) [999, 405, 304, 46, 12]
3.元組
元組(tuple)與列表類似,不同之處在於元組的元素不能修改。
tuple = (304,12,999,46,405)
4.字典
- 字典(dictionary)是Python中另一個非常有用的內置數據類型。
- 列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
- 字典是一種映射類型,字典用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合。
- 鍵(key)必須使用不可變類型。
- 在同一個字典中,鍵(key)必須是唯一的。
未完待續,連載中...
作者:許勝利 Python愛好者社區專欄作者,請勿轉載,謝謝。
博客專欄:許勝利的博客專欄配套視頻教程:Python3爬蟲三大案例實戰分享 公眾號:Python愛好者社區(微信ID:python_shequ),關注,查看更多連載內容。
推薦閱讀:
※LDA模型的前世今生
※沈志勇:做一個大數據技術的搬運工
※Indeed報告:目前最熱門的10大AI類工作,數據科學家位居榜首
※身為數據科學家怎麼能不掌握這四大技能!
※不學好數學也想當數據科學家?不存在的