一.什么是數據分析
1.這里引用網上的定義:
數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。
2.數據分析發展與組成
數據分析的數學基礎在20世紀早期就已確立,但直到計算機的出現才使得實際操作成為可能,並使得數據分析得以推廣。數據分析是數學與計算機科學相結合的產物。
常用的分析工具是Excel。
數據分析過程的主要活動由識別信息需求、收集數據、分析數據、評價並改進數據分析的有效性組成。
3.特點
多維性和描述性
它們通常與數據可視化工具進行配套使用。
二.python數據分析環境及各類常用分析包配置
1.處理的數據類型
主要是結構化數據,包括表格型的數據,多維數組(矩陣),數據庫多表結構等。
又是根據需要,可以把數據集轉換為一個更易分析,建模的結構形式。
2.為什么選擇python
在python中,有好多已經很完善的類庫,而且很容易整合C,C++和FORTRAN等語言的代碼,並配合很好的算法進行數據操作。
其實python也有很多缺點,這里先忽略它們,下面向大家介紹一些python重要的數據分析庫。
三.python數據分析環境安裝
1.Ipython
(1)簡介
IPython是一個交互式計算系統。又是一個更具交互性的python解釋器,其本身並不提供任何計算或數據分析工具,它主要是提供了一個環境,而且比默認的python shell 好用得多,支持變量自動補全,自動縮進,支持 bash shell 命令,內置了許多很有用的功能和函數。
可以用cmd啟動ipython
不過一般的話還是在anaconda中啟動ipython。
它的工作流是執行-探索。並不僅僅可以使用python,其他語言也針對Juptyter實現了內核,允許在Jupyter中使用多種語言。
那么什么是Jupyter呢?
(2)安裝方法如下
直接用pip進行安裝:
pip install ipython
2.Jupyter
(1)簡介
全稱Jupyter Notebook是一個交互式筆記本,支持運行 40 多種編程語言。
本質:是一個 Web 應用程序,便於創建和共享文學化程序文檔,支持實時代碼,數學方程,可視化和 markdown。
用途包括:數據分析,清理和轉換,數值模擬,統計建模,機器學習等等。
其實,在Jupyter Notebook 中,代碼可以實時的生成圖像,視頻,LaTeX和JavaScript。
Jupyter Notebooks 成了數據科學家最常用的工具之一。
(2)安裝
官網上有詳細教程https://jupyter.org/install
用pip,或者使用Anaconda安裝Jupyter
打開Jupyter:
然后自動跳轉到網頁,就可以編輯了:
可以先跳轉到指定文件夾,然后再打開jupyter notebook:
會生成這些文件:
3.Anaconda安裝器
(1)簡介
Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。
它其實就是一個開源的包、環境管理器,可以用於在同一個機器上安裝不同版本的軟件包及其依賴,即可以很方便的切換不同的版本(包括各個版本的python和各個版本的類庫),並能夠在不同的環境之間切換。
Anaconda包括Conda、Python以及一大堆安裝好的工具包,比如:numpy、pandas等。
它是適用於企業級大數據分析的Python工具。其包含了720多個數據科學相關的開源包,在數據可視化、機器學習、深度學習等多方面都有涉及。不僅可以做數據分析,甚至可以用在大數據和人工智能領域。
安裝完anaconda,就相當於安裝了Python、IPython、集成開發環境Spyder、一些包等等。
可以理解為,一個python環境中需要有一個解釋器, 和一個包集合。
(2)安裝
進入官網https://www.anaconda.com/
安裝后會有下面的應用
- Anaconda Navigtor :用於管理工具包和環境的圖形用戶界面,后續涉及的眾多管理命令也可以在 Navigator 中手工實現。
- Jupyter notebook :基於web的交互式計算環境,可以編輯易於人們閱讀的文檔,用於展示數據分析的過程。
- qtconsole :一個可執行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面,qtconsole 可以直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
- spyder :一個使用Python語言、跨平台的、科學運算集成開發環境。
有時候有問題,可能是環境路徑問題。
在windows下,在計算機->右鍵選擇屬性->高級系統設置->環境變量->系統變量->path。在path中加入anaconda安裝的目錄就可以了。
安裝后在cmd中輸入conda --version,會看到版本:
或者直接進入Anaconda Prompt終端:
用conda list列出已經安裝的所有庫:
有關不同的環境的創建,在下一個教程會介紹。
4.Jupyter與集成開發環境與文本編輯器
一般在Juptyter中進行交互式操作,在集成開發環境(IDE)中進行大型數據處理,在文本編輯器中進行簡單操作。
三.常用數據分析包
1.NumPy
NumPy是使用Python進行科學計算的基礎包。 它包含:
- 一個強大的N維數組對象
- 復雜的(廣播)功能
- 用於集成C / C ++和Fortran代碼的工具
- 有用的線性代數,傅里葉變換和隨機數功能
作用:這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表結構要高效的多。
numpy和稀疏矩陣運算包scipy配合使用更加方便。
2.pandas
pandas 是 是python的一個數據分析包,是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。
pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
數據結構如下:
- Series:一維數組,與Numpy中的一維array類似。二者與Python基本的數據結構List也很相近。Series如今能保存不同種數據類型,字符串、boolean值、數字等都能保存在Series中。
- Time- Series:以時間為索引的Series。
- DataFrame:二維的表格型數據結構。很多功能與R中的data.frame類似。可以將DataFrame理解為Series的容器。
- Panel :三維的數組,可以理解為DataFrame的容器。
3.matplotlib
Matplotlib 是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平台的交互式環境生成出版質量級別的圖形。
可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。
4.sciPy
SciPy是一款方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模塊,傅里葉變換,信號和圖像處理,常微分方程求解器等等.
5.scikit-learn
它是一個機器學習工具包,在后面會介紹。
6.statsmodels
Statsmodels是Python的統計建模和計量經濟學工具包,包括一些描述統計、統計模型估計和推斷。
這些庫在anaconda中都有,安裝了anaconda安裝器,相當於把這些都安裝上去了。