numpy的基础用法一
import numpy
import random
data = numpy.array([1,2,3])
data.max()
print(data.max())
print(numpy.ones(3))
print(numpy.zeros(3))
print(numpy.random.random(3))
data2 = numpy.array([1,2])
ones = numpy.ones(2)
print(ones)
print(data2 + ones)
print(data2*1.6)
print(data[0])
print(data[2])
print(data[1])
print(data[0:2])
print(data[1:3])
print(data[0:3])
print(data.sum())
print(numpy.ones((3,2)))
print(numpy.zeros((3,2)))
data3 =numpy.array([[1,2],[3,4],[5,6]])
print(data3)
print(data3.max(axis=1))
print(data3.max(axis=0))
data4 = numpy.array([[1],[2],[3],[4],[5],[6]])
print(data4)
print(data4.reshape(2,3))
print(data4.reshape(3,2))
'''numpy广播机制'''
'''
c = numpy.array([[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9],
[10],
[11],
[12]
])
c = numpy.arange(1,13).reshape(2,6)
print(c)
print(numpy.hsplit(c,3))
'''
'''
c1 = numpy.array([[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9],
[10],
[11],
[12],
])
c1 = numpy.array(1,13).reshape(6,2)
print(numpy.vsplit(c1,3))
'''
'''
a = numpy.array((1,2,3))
b = numpy.array((2,3,4))
e = numpy.dstack((a,b))
print(e)
print(numpy.dsplit(e,2))
'''
numpy的基础用法二
import numpy as np
a = np.array([1,1,1,1])
b = np.array([[1],[1],[1],[1]])
print(a+b)
c = np.array([1,1,1,1])
print(c+b)
w = np.array([[1,1,1],[2,2,2]])
print(w)
print(w[:,1])
print(w[1])
w[:,1] = np.array([5,5])
print(w)
'''删除 delete'''
matrix = [[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
]
p1 = np.delete(matrix,1,0)
print(p1)
p2 = np.delete(matrix,1,1)
print(p2)
p3 = np.delete(matrix,0,1)
print(p3)
p4 = np.delete(matrix,1,None)
print(p4)
p5 = np.delete(matrix,[0,1],1)
print(p5)
'''添加 insert'''
matrix1 = [[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
]
q1 = np.insert(matrix1,1,[1,1,1,1],0)
print(q1)
q2 = np.insert(matrix1,0,[1,1,1],1)
print(q2)
q3 = np.insert(matrix1,0,[1,1,1],None)
print(q3)
'''append 尾部添加'''
matrix3 = [[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
]
m1 = np.append(matrix3,[[1,1,1,1]],0)
print(m1)
m2 = np.append(matrix3,[[1],[1],[1]],1)
print(m2)
m3 = np.append(matrix3,[1,1,1,1],None)
print(m3)
'''random.choice,随机选取数'''
a1 = np.random.choice(7,5)
print(a1)
a2 = np.random.choice([0,1,2,3,4,5,6,7],5)
print(a2)
a3 = np.random.choice(np.array([0,1,2,3,4,5,6,7]),5)
print(a3)
a4 = np.random.choice([0,1,2,3,4,5,6],5,False)
print(a4)
print(" xxxxx ")
a5 = np.random.choice(np.array([0,1,2,3,4,5,6]),5,[0.1,0.1,0.1,0.1,0.1,0.1,0.4])
print(a5)
'''argmax,返回最大索引值'''
a = np.array([[1,1,1],[2,2,2],[0,3,6]])
b1 = np.nanargmax(a)
print(b1)
b2 = np.nanargmax(a,0)
print(b2)
b3 = np.nanargmax(a,1)
print(b3)
''' linspace 均匀分隔一段数'''
y1 = np.linspace(-10.0,10.0)
print(y1)
y2 = np.linspace(1,10,10)
print(y2)
y3 = np.linspace(1,10,6,True)
print(y3)
y4 = np.linspace(1,10,6,False)
print(y4)
y5 = np.linspace(1,10,6,True,True)
print(y5)
print(" ###############################################3333 ")
'''拉平操作'''
x = np.array([[1,2,3],[4,5,6],[1,2,3]])
print(x.flatten())
print(x.ravel())
print("#############")
print(x.ravel('F'))
print(x.flatten('F'))
print("##########")
x.flatten()[1] = 20
print(x.flatten())
x.ravel()[1] = 20
print(x.ravel())
print(x.reshape(1,-1))
print("#############")
'''数组转行向量,转列向量,变成二维'''
x2 = np.array([1,2,3,4,5,6,7])
print(x2[None,:])
print(x2[:,None])
print(x2[np.newaxis,:])
print(x2[:,np.newaxis])
print("######################")
'''计算元素乘积np。prod'''
x3 = np.array([[1,2,3],[2,3,4]])
print(np.prod(x3))
print(np.prod(x3,1))
print(np.prod(x3,0))
print("##################")
'''把矩阵大于或小于N的元素至于M'''
x4 = np.array([[1,2,3],[-3,2,4],[5,-2,9]])
y1 = np.maximum(0,x4)
print(y1)
y2 = np.minimum(0,x4)
print(y2)
'''copy问题'''
x5 = x4.copy()
x5[x5>0] = 0
print(x5)
x6 = x4.copy()
x6[x6<0] = 0
print(x6)
print("###############")
x7 = x4
x7[x7>0] = 0
print(x7)
print(x4)
x8 = x4[2]
x8[2] = 100
print(x8)
print(x4)
''' 全零矩阵 无需指定大小,直接复制想要矩阵即可'''
print(np.zeros_like(x4))
'''random .rand与.randn和.randint的区别'''
n = np.random.rand(3,4)
print(n)
n1 = np.random.randn(3,4)
print(n1)
print("######")
z = np.multiply(0.1,np.random.randn(3,4)+0.5)
print(z)
print("#####")
n2 = np.random.randint(2,9,(2,3))
print(n2)
print("########")
n3 = np.random.randint(9,size=(2,3))
print(n3)
'''padding'''
A = np.arange(95,99).reshape(2,2)
np.pad(A,((3,2),(2,3)),'constant',constant_values = (0,0))
b = np.array([[[1,2],[3,4]],[[3,4],[7,8]],[[4,5],[1,2]]])
print(b)
print(np.pad(b, ((0,0),(1,1),(1,1)),'constant', constant_values = 0))
print("############")
xaa = np.empty([3,2], dtype = int)
print (xaa)
c = np.array([[1,2],[3,4]])
c.astype(np.float32)
print(c)
x = np.array([1,3,5])
y = np.array([4,6])
XX,YY = np.meshgrid(x,y)
print(XX)
print(YY)
x = np.array([[3,4,5],[1,3,4]])
y = np.array([[1,1,1],[2,2,2]])
print(np.hstack((x,y)))
print(np.vstack((x,y)))
'''numpy的取整'''
a = np.array([0.125,0.568,5.688])
print(np.round(a))
print(np.round(a,decimals = 2))
print(np.floor(a))
print(np.ceil(a))
c = np.array([1,2,5,4])
var = c[:, np.newaxis]
print(var)
varr =c[np.newaxis,:]
print(varr)
'''广播机制'''
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@")
a = np.array([[1,2,3],[4,5,6]])
a = np.array([[1,2,3,6],[4,5,6,6]])
a1 = a.reshape((1,2,4))
print(a1)
b = np.array([[3,4,5,6],[1,2,3,4],[4,5,5,5]])
b1 = b.reshape((1,3,4)).transpose((1,0,2))
print(b1)
print(a1+b1)
'''交换维度进行转至'''
c = np.array([[[1,2,5],[3,4,6]],[[4,5,6],[7,8,9]]])
print(c.transpose(1,0,2))
print("########################")
'''双冒号的用法'''
a = np.array([2,2,3,4,5,5,6,7])
print(a[0::2])
print(a[::-1])
s = slice(0,7,2)
print(a[s])