# y 1d array
# where(cond, ture value, false value)
np.where(y == ' ' ,-1 , 1)
#### 沒有ture value, false value 時,等於 numpy.nonzero(),會回傳true的index
np.where((pre != y_test) == True)
# 刪除重覆值 like sql distinct
np.unique(y)
# 將y轉為1維陣列
y.ravel()
# 產生一陣列最小值為n, 最大值不可超過m, n(next) = n(pre) + resolution
np.arrange(n,m,resolution)
# 產生有x個值的均等陣列,最小值為n, 最為m ,前值與後值差相同
np.linspace(n,m,num=x)
# 用x,y此兩個一維陣列產生x,y矩陣
x = [1, 2, 3]
y = [0, 1]
# 可看成以下2維陣列
# 1,0 2,0 3,0
# 1,1 2,1 3,1
vx,vy = meshgrid(x,y)
vx = [1, 2, 3], [1, 2, 3](/SeanWu1977/Machine-Learning/wiki/1,-2,-3],-[1,-2,-3) # 把2維陣列的x值取出成為vx陣列
vy = [0, 0, 0], [1, 1, 1](/SeanWu1977/Machine-Learning/wiki/0,-0,-0],-[1,-1,-1) # 把2維陣列的y值取出成為vy陣列
# 陣列合併
np.array([A, B])
np.vstack((A, B))
A = np.array([1,1,1])
B = np.array([2,2,2])
# 以上兩個指令會產生相同結果
array([[1, 1, 1],
[2, 2, 2]])
np.hstack((A, B))
array([1, 1, 1, 2, 2, 2])
# 陣列隨機排序
np.random.seed(n) #當n相同,random結果會相同
r=np.random.permutation(n) #傳回0~(n-1)隨機排序陣列
RX=X[r] #回傳依r所指定的順序陣列
# 將多維陣列轉為1維陣列
x.ravel()
# 看陣列長像
x.shape 回傳list為每一維度的長度(d1, d2, ...)
# 矩陣內積
a = numpy.array([1,2])
array([1, 2])
b = numpy.array([1,3],[2,4](/SeanWu1977/Machine-Learning/wiki/1,3],[2,4))
array([[1, 3],
[2, 4]])
numpy.dot(a,b) or a.dot(b)
array([ 5, 11])
# 概念, x軸乘y軸
# 改變形狀,如果值是-1,則由程式自已算
x = x.reshape(6, 1)
x = x.reshape(-1, 1)
以上兩個結果是相同
# value(x,y) => value(y,x), 即左上右下對摺 或 是row -> column, column -> row
x = np.transpose(x)
# 找出值不為零值的index(第一個index值為0)
np.nonzero(x)
# 變形(找出值為零的index)
np.nonzero(x == 0)
# 變更值的類型
np.array().astype("int") # float,double...
# np.array().all() # 可檢查所有的值是否為 True
# get value by index
x = np.array(...)
idx = [0,2,3,..]
x[idx] ==> 得出對應idx的np.array
### list就沒有此功能 ###