《Python數據科學手冊》【美】Jake VanderPlas著 陶俊傑譯
Absorb what is useful, discard what is not, and add what is uniquel what own.(取其精華,去其糟粕,再加點自己的獨創。)
本書在GitHub上開源:https://github.com/jakevdp/PythonDataScienceHandbook
作者在博客發布Notebook的HTML版本:https://jakevdp.github.io/PythonDataScienceHandbook/
精華總結+issue匯總
第一章 Ipython:超越Python
1.三種開發環境:
1)在線版Notebook編程環境——有瀏覽器就可學習編程知識,推薦想快速掌握知識的朋友使用。目前,有許多安裝Python編程環境的Anaconda發行版的網絡平台(PaaS),支持Jupyter Notebook編程環境,可以免費使用,如JupyterHub(https://tmpnb.org)、SageMathCloud(https://cloud.sagemath.com)、微軟Azure(https://notebooks.azure.com/)
它們可以在線運行Notebook文件,編寫調試運行代碼,也支持文件的上傳、下載、新建、刪除,還可以運行Terminal工具。
另外,基於Github的Notebook,還有binder(https://mybinder.org)支持代碼倉庫一鍵部署。
類似的在線免費Notebook編程環境還有很多,特別推薦德國Yves Hilpisch博士的The Python Quants Group公司開發的Python Quants Platform(https://tpq.io/)。
Jupyter Notebook支持許多編程語言(Python、R、Scala、Julia、Haskell、Ruby......),甚至支持Kotlin(https://github.com/ligee/kotlin-jupyter)、Java 9的REPL新功能JShell(https://github.com/Bachmann1234/java9_kernel)。
2)在電腦上安裝Anaconda發行版。由於網絡問題,推薦清華大學TUNA鏡像下載和更新Anaconda集成開發環境:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
3)適合了解Docker鏡像(https://github.com/jupyter/docker-stacks),一鍵安裝,省時省力。里面除了標准Anaconda開發環境,還支持Spark、TensorFlow的Notebook開發環境。
2.如果你需要一個 Python 入門教程,那么我推薦你閱讀本書的姊妹篇 A Whirlwind Tour of the Python Language。
Python相關電子書下載(需要收費):Python書院——http://www.pythonlib.cn/
3.數據收集:bicloud的博客——數據挖掘博客收集
總結了人臉識別技術、深度學習文章、機器學習課程、深度學習課程、各種數據集。
4.GitChat:https://blog.csdn.net/valada?t=1
GitChat 是一個知識分享平台,通過這個平台我們希望改變知識的學習方式。如:如何科學的學習一門編程語言?
5.軟件安裝注意事項
Anaconda發現版有兩種,選哪個?
1)Miniconda:只包含Python解釋器和一個名為conda的命令行工具。conda是一個跨平台的程序包管理器,可以管理各種Python程序包,類似於Linux用戶熟悉的apt和yum程序包管理器。
2)Anaconda:除了包含Python和conda之外,還同時綁定了四五百個科學計算程序包。所以有幾個G大。
推薦:安裝Miniconda,所有程序包手動安裝(確認選擇的是適合Python3的版本),安裝包:conda install numpy pandas scikit-learn matplotlib seaborn ipython-notebook
6.第三方模塊的安裝問題:見我的另一篇博客:Python入門之第三方模塊安裝
7.用memory_profiler診斷內存的用量?
參看:《Python高性能編程》——2.9 用memory_profiler診斷內存的用量:https://m.aliyun.com/yunqi/articles/96841/
Issue:如果在運行的時候出現如下的gbk解碼錯誤,解決方案是首先進入 memory_profiler.py文件中,找到第1127行(不同版本可能略有差別),
把with open(filename) as f: 更改成 with open(filename, encoding=’utf-8’) as f:!!!
8.網絡資源匯總:
1)Ipython網站:http://ipython.org/
2)nbviewer網站:https://nbviewer.jupyter.org/
3)有趣的IPython Notebook集合(https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks)
第二章 Numpy入門
1.P54代碼使用%matplotlib inline
import matplotlib.pyplot as plt
import seaborn; seaborn.set()
plt.hist(heights)
plt.title('Height Distribution of US Presidents')
plt.xlabel('height (cm)')
plt.ylabel('number');
在cmd的ipython窗口中執行不成功?執行%matplotlib inline就報錯,而且直方圖畫不出來?
其中最后一句%matplotlib inline比較奇怪,而且無論你是用哪個python的IDE如spyder或者pycharm,這個地方都會報錯,顯示是invalid syntax(無效語法)。那為什么代碼里面還是會有這一句呢?原來是這樣的。
%matplotlib作用
是在使用jupyter notebook 或者 jupyter qtconsole的時候,才會經常用到%matplotlib,也就是說那一份代碼可能就是別人使用jupyter notebook 或者 jupyter qtconsole進行編輯的。關於jupyter notebook是什么,可以參考這個鏈接:[Jupyter Notebook介紹、安裝及使用教程][1]
而%matplotlib具體作用是當你調用matplotlib.pyplot的繪圖函數plot()進行繪圖的時候,或者生成一個figure畫布的時候,可以直接在你的python console里面生成圖像。
參看:Python關於%matplotlib inline——https://www.jianshu.com/p/2dda5bb8ce7d
Python--matplotlib繪圖可視化知識點整理——https://www.cnblogs.com/zhizhan/p/5615947.html