2020年剛開始,國家就遭受了這麼嚴重的疫情。真心希望疫情早日結束,早日走上工作崗位,爲國家建設貢獻綿薄之力。
整個超長假期只能待在家裏,陪家人,看孩子。眼看復工無望,大量工作不能處理,不如趁此機會提前學習下python數據分析的內容。因此,對照《利用Python進行數據分析》,上手實踐。
爲什麼選擇python
剛開始時,想做數據分析,發現很多其他語言都可以,而且也比較成熟,一直糾結爲什麼要用python,難道就因爲很火嗎?後來查了一些資料,再結合自身原因,簡單說一下我的體會:
- python有很多成熟的接口模塊,可以把之前老的c/c++、fortran語言編寫的程序粘合起來;
- 未來工作中要用到機器學習和深度學習的東西,用python非常合適,無縫集成;
- 目前產品用的微服務,可以把python單獨封裝成服務,不影響其他程序的運行;
- python跨平臺,有各種優秀的數據分析庫;
- 本人是c語言和.net出身,沒有java體系實踐,java各種框架配置來配置去學習成本太高;
- 使用django框架+數據分析+大數據+深度學習的路線實現數據分析應用場景應該是可行的,堅定了python實際生產環境應用的信心。
配置python環境
根據書中介紹,安裝一套anaconda就可以把整個python數據分析用到的工具和庫都自動配置好了,比自己單獨安裝python編譯器,腳本編輯器和各種數據分析庫方便多了。最重要的是幾乎不會出錯,可以理解爲visual studio環境吧。
anaconda的下載地址直接百度就出來了:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
選擇自己的版本下載安裝即可。
理解anaconda
anaconda是一個python開發環境的管理工具,包含Ipython編譯器,jupyter notebook編輯器,數學分析常用的各種庫,如numpy,scipy,matplotlib,pandas等,省去了單獨安裝和配置的工作。
下面主要講一下使用shell啓動ipython環境時的錯誤做法,也可以當作加深理解的過程。
使用shell啓動ipython
安裝好軟件後,啓動anaconda navigate就可以進入anaconda環境了,在裏面可以方便且正確的啓動ipython和jupyter notebook。但每次啓動anaconda也挺耗資源的(本人被困老家,只有一臺32位奔騰單核,2G內存的電腦),再加上之前Tcl/tk的經驗,所以就想通過命令行來運行ipython編譯器。
錯誤的方法
首先打開cmd命令窗口,敲入ipython,發現找不到。後來檢查發現環境變量並未設置,經驗主義錯誤的以爲anaconda會自動寫入系統Path變量中。(折騰完了才發現anaconda有自己的規則和限制,並不能直接去cmd啓動)
所以,自己在環境變量PATH中加了兩個路徑:
C:\ProgramData\Anaconda3
C:\ProgramData\Anaconda3\Scripts
啓動cmd,敲入ipython,ok
嘗試幾個剛學的命令,也沒問題,感覺可以脫離anaconda自己玩了。
試用一下numpy庫,
import numpy as np
發現出問題了,是不是anaconda的問題?然後在anaconda環境的jupyter notebook 敲了一遍,沒問題。這才發現,離開anaconda玩不轉了。
正確的方法
回頭又仔細的看了下anaconda,發現自帶了anaconda prompt,於是啓動。
輸入ipython,沒問題。
import numpy as np
沒問題了!
回去查prompt的啓動命令,是這麼樣的:
%windir%\System32\cmd.exe "/K" C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
原來並不是單純的啓動命令行,還帶了很多參數。太天真了!
使用shell 啓動 jupyter notebook
有了上面的教訓,這次直接通過 anaconda prompt進入命令行模式,輸入:
jupyter notebook
啓動成功。
總結
工欲善其事,必先利其器。經過這麼一折騰,才稍微瞭解了anaconda,ipython和jupyter notebook,爲學習python數據分析建立了一個良好的開端。
- 直接用ipython環境運行python,如果不要使用第三方庫,如numpy等,則沒問題,否則需要通過anaconda的prompt啓動ipython編譯器;
- 使用ipython的%魔術命令時,可以不錄入%,如輸入pwd,效果和輸入%pwd是一樣的。(至少anaconda 5.3.1所帶的版本不用)
- 入門時還是推薦使用集成了編譯器和編輯器的jupyter notebook進行學習。