本文是 《Python for Data Analysis》譯文的筆記,也是一個總結。
學習 python,無論是開發還是機器學習,都應掌握數據分析基礎,推薦看這本書並進行相關練習。Github 地址
我會按章節整理我認爲重要的內容,供參考。
一、準備工作
數據分析
一些常見的數據分析工作——
- 與外部世界交互:文件讀寫,數據存儲
- 數據準備:清洗、修改、結合、標準化、重塑、切片、切割、轉換數據以進行分析
- 轉換數據:舊數據集通過計算和統計操作生成新數據集
- 建模和計算:把數據用於統計模型和機器學習算法等
- 展示:如圖表可視化
無論你學的是機器學習、深度學習或是其他,想必都離不開上述任務,所以學好數據分析非常重要!
結構化數據
一般說的數據指結構化數據,包括但不限於表格型數據,多維數組「矩陣」,通過關鍵列相互聯繫的多個表「SQL」。
重要的 Python 庫
- Numpy
- 最常用的是數組處理能力
- 快速高效的多維數組 ndarray
- 對數組執行元素級的運算和對數組直接執行數學運算的函數
- pandas
- 提供了便捷處理結構化數據的 數據結構和函數
- 常用對象有 DataFrame 「二維」 和 Series「一維」
- 常用功能有 索引,切片聚合等
- matplotlib
- 常用來繪製圖表和二維數據可視化
- IPython->jupyter
- Ipython 目前是用於編寫、測試、調試 Python 代碼的強大 shell
- Jupyter Notebook 是一個支持多語言的交互式網絡代碼“筆記本”
- Ipython + Jupyter Notebook 可以實現在瀏覽器上寫 Python 代碼,適合數據探索和可視化
- Jupyter Notebook 除了寫 Python 代碼還能寫 Markdown 和 HTML 代碼「創建代碼 + 文本」
- Scipy
- 科學計算包的集合,比如想求積分和微分可以用 scipy.integrate 包
- Numpy + Scipy 結合使用,處理傳統的科學計算問題
- Scikit-learn
- Python 的通用的機器學習包,即實現好了機器學習算法
- 子模塊包括 分類、迴歸、聚類、降維、選型、預處理
- statsmodels
- 一個統計分析包,包含經典統計學和經濟計量學的算法
- statsmodels 關注統計推斷, scikit-learn 注重預測
Python 安裝和 Python 庫的安裝
- 總體分爲兩種:
- 一、直接安裝 Python「推薦 Python3.6 ,Python2 以後不維護了,Python3.7 有的包不適用,python 包都得自己手動安裝」
- 二、安裝 Anaconda「一個python的發行版,包括了python和很多常見的軟件庫, 和一個包管理器conda。常見的科學計算類的庫都包含在裏面了,使得安裝比常規python安裝要容易」
- 不同操作系統安裝方法不同「windows,mac OS 和 Linux」
- 兩種包的安裝和升級工具 pip 和 conda
集成開發環境 IDE
就像 Java的 IDE 有 Eclipse,Python 也有 IDE,我用都是 Pycharm。
- PyDev(免費),基於 Eclipse 平臺的IDE;
- JetBrains 的 PyCharm(商業用戶需要訂閱,開源開發者免費);
- Visual Studio(Windows用戶)的 Python Tools;
- Spyder(免費),Anaconda 附帶的 IDE;
- Komodo IDE(商業)