天天看點

python資料處理:NumPy基礎

python資料處理:NumPy基礎

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

 文中執行個體檢視位址:http://nbviewer.jupyter.org/github/RZAmber/for_blog/blob/master/learn_numpy.ipynb

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

    

python資料處理:NumPy基礎

           

python資料處理:NumPy基礎

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

  

python資料處理:NumPy基礎

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

   2.2.2: 基本索引(indexing)和slicing

  

python資料處理:NumPy基礎

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

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

  

python資料處理:NumPy基礎

   2.2.2: 常用indexing 

  

python資料處理:NumPy基礎

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

  

python資料處理:NumPy基礎

  上述就是調取了(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

python資料處理:NumPy基礎

  2.3.3: 生成随機數

  np.random.normal(size=(4,4))生成按照正态分布排列的4*4矩陣

  np.random.randn(5,4)生成5*4矩陣,按照正态分布排列,均值為0,标準差為1.

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

    

posted on 2017-07-17 17:57 xbamboo 閱讀( ...) 評論( ...) 編輯 收藏

轉載于:https://www.cnblogs.com/amberdata/p/7183858.html

繼續閱讀