python資料處理:NumPy基礎

來源:互聯網
上載者:User

標籤:對象   tran   width   基礎   ops   二維   logic   alignment   res   

本文資料來自:Python for Data Analysis, Chapter 4

 

1. NumPy簡介

NumPy,Numerical Python簡稱,是科學計算和資料分析所用的基礎包。對於資料分析師,主要關注以下幾點:

  a: Fast vectorized arrya operations for data munging and cleaning(資料分析和清洗), subsetting and filtering(和過濾), transformation and any other kind of computations.

  b: Coomn array algortihsm like sorting, unique, and set operations

  c: Efficient descriptive statistics and aggregating/summarizing data

  d: Data alignment(資料調整) and relational data manipulations for merging(合并) and joining together heterogeneous data sets(異構資料集)

  e: Expressing conditional logic as arry expressions instead of loops with if-elif-else branches 存取ndarray會更快速

  f: Group-wise(分組) data manipulations

其中NumPy最常用的功能是a和e,主要作為傳遞資料的容器,對於比較關係型資料的或者圖表類資料集,最常用的還是pandas。

2. NumPy數組:NumPy ndarray

2.1

ndarray:N-dimensional array。NumPy數組是一個多維陣列對象(array object),主要包含實際的資料和描述這些資料的中繼資料(tuple)。 

通常通過調用這些元組來獲得實際資料

要記住記下兩點:

  同一個NumPy的多維陣列的元素是同類型的。

  通過一個正整數元組(tuple)索引的元素表格(通常是元素是數字)。

在NumPy中維度(dimensions)叫做軸(axes),比如三維矩陣,每一個維度都是一個軸。

軸的個數,即數組的維數叫做秩(rank)。比如三維矩陣,秩為3,二維矩陣,秩為2。

維度以一個整數元組來表示,比如二維的一般為(2,3),表示2排3列的一個矩陣,秩為元組的長度:2,第一個維度長度為2,第二個維度長度為3。

2.2 

首先:import numpy as ynp

  2.2.1: creating ndarray:array function

     

           

    Numpy提供一個arrange函數,返回一個array數組而不是list

  

   np.arrange(32).reshape((8,4))產生0-31的8*4矩陣

   2.2.2: 基本索引(indexing)和slicing

  

  arr[n:m]:截取從第n為到底m-1位的數值

  要注意的是,array slice是未經處理資料的一個映射,對此進行的任何操作都會反映到未經處理資料上。可以說用copy()函數保留原始數值。

  

   2.2.2: 常用indexing 

  

  np.ix_函數:可以將兩個一維整數型數群組轉換成一個索引組合,調取這個矩陣組合裡面所有的數值

  

  上述就是調取了(1,0),(1,3),(1,1),(5,0),(5,3),(5,1),(7,0),(7,3),(7,1)共9個值

2.3 常用函數

  2.3.1: 數學類

  包括sqrt,exp,abs,add,subtract等

  np.mean()

  np.sum()

  axis參數:axis=1表示按照行,axis=0表示按照列

  2.3.2: sorting排列,unique

  函數:sort()

  numpy中最常用的一個組合邏輯(set logic)運算就是unique(),這個函數可以去掉數列中多次重複出現的值,返回形式為arra

 

  2.3.3: 產生隨機數

  np.random.normal(size=(4,4))產生按照常態分佈排列的4*4矩陣

  np.random.randn(5,4)產生5*4矩陣,按照常態分佈排列,均值為0,標準差為1.

 

 

註:雖然這算是一個基礎的總結,但不能保證理解全部準確無誤。隨著對不同函數的多次使用,如果有新的體會,我會及時回來更新。

 

 

 

    

python資料處理:NumPy基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.