1.Numpy 的基础运算2
import numpy as np
a = np.arange(14 ,2 ,-1 ).reshape((3 ,4 ))
print(a )
print(np.argmin(a ))
print(np.argmax(a ))
print(np.mean(a ))
print(np.average (a ))
print(np.median (a ))
print(np.cumsum(a ))
print(np.diff(a ))
print(np.nonzero(a ))
print(np.sort (a ))
print(np.transpose (a ))
print((a .T).dot(a ))
print(np.clip(a ,3 ,9 ))
print(np.mean(a ,axis=0 ))
2.Numpy 的索引
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2017-11-01 21:42:02
# @Author : leboryi
# @What : Numpy 的索引
import numpy as np
a = np.arange(3 ,15 ).reshape(3 ,4 )
print(a)
# print(a[2][2])
# print(a[2,2])
# print(a[2,:]) # : 表示所有的数
# print(a[1,1:3])
for row in a:
print(row)
# 迭代输出显示行
for column in a.T:
print(column)
# 翻转矩阵,最终实现迭代矩阵
print(a.flatten())
for item in a.flat:
print(item)
# 迭代每一项目
3.Numpy 的 array 合并
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2017-11-01 21:52:41
# @Author : leboryi
# @What : Numpy 的 array 合并
import numpy as np
a = np.array([1 ,1 ,1 ])[:,np.newaxis]
b = np.array([2 ,2 ,2 ])[:,np.newaxis]
c = np.vstack((a,b))
d = np.hstack((a,b))
# print(c) # vertical stack 上下的合并
# print(a.shape,c.shape)
# print(d) # horizontal stack 左右的合并
# print(a.shape,d.shape)
############
#将a变成竖向的矩阵,不能使用print(a.T)
# print(a[:,np.newaxis])
C = np.concatenate((a,b,b,a),axis=1 ) #进行多个合并,多了一个参数axis,可以定义
print(C)
4.Numpy 的 array 分割
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2017-11-01 22:05:46
# @Author : leboryi
# @What : Numpy 的 array 分割
import numpy as np
A = np.arange(12 ).reshape((3 ,4 ))
print(A)
# print(np.split(A,2,axis=1)) #np.split 只能等分割
# print(np.array_split(A,3,axis=1)) #np.split 不等量分割
# print(np.split(A,3,axis=0))
print(np.vsplit(A,3 ))
print(np.hsplit(A,2 ))
5.Numpy 的 copy 和 deepcopy(只想复制的话,使用copy,不然改一个另外一个也会跟着改变)
import numpy as np
a = np.arange(4 )
print(a )
b = a
c = a
d = b
a [0 ] = 11
print(a ,b,c,d)
print(b is a )
print(d is a )
d[1 :3 ] = [22 ,33 ]
print(d,a ,b,c)
b = a .copy()
print(b)
a [3 ] = 44
print(a ,b)