1. 程式人生 > >資料分析學習筆記(1):工作環境以及建模理論基礎

資料分析學習筆記(1):工作環境以及建模理論基礎

一、環境部署

  1.python包管理:

    (1)安裝:pip install xxx,conda install xxx

    (2)解除安裝:pip uninstall xxx,  conda uninstall xxx

    (3)升級:pip install -upgrade xxx, conda update xxx

  2.IDE

    1)Jupyter notebook:

     (1)Anaconda自帶,無需單獨安裝

        (2)記錄思考過程,實時檢視執行程序

     (3)基於web的線上編輯器(本地)

     (4).ipynb檔案分享

     (5)可互動式

     (6)記錄歷史執行結果

     (7)支援Markdown,Latex

    2)IPython

     (1)Anaconda自帶,無需單獨安裝

     (2)Python的互動式命令列Shell

二、NumPy資料結構以及向量化

  1.Numpy :Numerical Python

    (1)高效能科學計算和資料分析(pandas)的基礎包,提供多維陣列物件

    (2)ndarray,多維陣列(矩陣),具有向量運算能力,快速、節省空間

    (3)矩陣運算,無需迴圈,可完成類似Matlab中的向量運算

    (4)線性代數、隨機數生成

    (5)import numpy as np

  2.Scipy  

    (1)在NumPy庫的基礎上增加了眾多數學、科學以及工程常用的庫函式

    (2)現行代數、微分方程求解、訊號處理、影象處理、係數矩陣等

    (3)import scipy as sp

  3.NumPy資料結構

    (1)ndarray,N維陣列物件(矩陣)

      所有元素型別必須相同

      ndim屬性  維度的個數

      shape屬性,各維度的大小

      dtype屬性,資料型別

    (2)建立ndarray

      np.array(collection),collection為序列性物件(list),巢狀序列(list of list)

      np.zeros,np.ones,no.empty指定大小全為0或者全為1的陣列

      注意:第一個引數是元組,用來指定大小,如(3,4)

         empty不是總是返回全0,有時候返回的是未初始的隨機值

  4.程式碼學習

    (1)生成兩行三列的隨機數,並打印出資料的型別

    (2)分別打印出剛才建立的維度的個數,維度大小以及資料型別

    (3)全0,全1以及全空

  5.索引與切片

    (1)一維陣列的索引與Python的列表索引功能相似

    (2)多維陣列的索引

      arr[r1:r2,c1:c2]

      arr[1,1]等價於arr[1][1]

      [:]代表某個維度的資料

      arr[1:2,1:2]代表訪問陣列中第1行到第2行以及第1列到第2列的資料

    (3)條件索引

      布林值多維陣列arr[condition]condition可以是多個條件的組合。

      注意,多個條件組合要使用&  |  而不是and or