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

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.
注:雖然這算是一個基礎的總結,但不能保證了解全部準确無誤。随着對不同函數的多次使用,如果有新的體會,我會及時回來更新。
posted on 2017-07-17 17:57 xbamboo 閱讀( ...) 評論( ...) 編輯 收藏
轉載于:https://www.cnblogs.com/amberdata/p/7183858.html