numpy库

import numpy as np

array=np.array([[1,2,3],[2,4,6]])

array1=np.arange(6).reshape((2,3))

print(array)

print(array1)

print('矩阵维度:',array.ndim)

print('矩阵形状:',array.shape)

print('矩阵元素:',array.size)


#创建数组或矩阵的方法

import numpy as np

a=np.array([[1,2,3],[2,4,6]],dtype=np.int64) #利用numpy的array函数建立矩阵,必须有具体矩阵元素

print(a)

b=np.zeros((3,4)) #零矩阵

print(b)

c=np.ones((3,4),dtype=np.int32) #全部为1的矩阵

print(c)

d=np.empty((3,4)) #全部为空值的矩阵

print(d)

e=np.arange(10,20,2)#10到20步长为2的一行数组

print(e)

f=np.arange(12).reshape((3,4)) #按顺序构建矩阵

print(f)

g=np.linspace(1,12,20) #将1到12分为20段的数据排列

print(g)

h=np.linspace(1,10,6).reshape((2,3)) #分段构建矩阵,定义矩阵形状

print(h)

i=np.random.rand(3,4)#构建均匀分布随机数矩阵

print(i)

j=np.random.random((2,4))#构建随机数矩阵

print(j)

h=np.random.randn(3,2)

print(h)

k=np.random.normal(0, 1, 10)#正态分布随机数矩阵

print(k)


#创建数组或矩阵的方法

import numpy as np

a=np.array([[1,2,3],[2,4,6]],dtype=np.int64) #利用numpy的array函数建立矩阵,必须有具体矩阵元素

print(a)

b=np.zeros((3,4)) #零矩阵

print(b)

c=np.ones((3,4),dtype=np.int32) #全部为1的矩阵

print(c)

d=np.empty((3,4)) #全部为空值的矩阵

print(d)

e=np.arange(10,20,2)#10到20步长为2的一行数组

print(e)

f=np.arange(12).reshape((3,4)) #按顺序构建矩阵

print(f)

g=np.linspace(1,12,20) #将1到12分为20段的数据排列

print(g)

h=np.linspace(1,10,6).reshape((2,3)) #分段构建矩阵,定义矩阵形状

print(h)

i=np.random.rand(3,4)#构建均匀分布随机数矩阵

print(i)

j=np.random.random((2,4))#构建随机数矩阵

print(j)

h=np.random.randn(3,2)

print(h)

k=np.random.normal(0, 1, 10)#正态分布随机数矩阵

print(k)


#基础运算1—矩阵加减乘法

import numpy as np

a=np.array([10,20,30,40])

b=np.arange(4)

c=a-b

d=a+b

e=b**2

print(c)

print(d)

print(e)

#矩阵乘法

f=np.array([[1,2],[3,4]])

g=np.arange(4).reshape((2,2))

h=f*g #逐个相乘

h_dot=np.dot(f,g) #矩阵相乘

h_dot2=f.dot(g) #矩阵相乘2

print(h)

print(h_dot)

print(h_dot2)

a1=np.random.random((2,4)) #产生随机数矩阵

print("*",a1)

b1=np.sum(a1)#求和

b2=np.max(a1)#最大值

b3=np.min(a1)#最小值

print(b1,',',b2,',',b3)

print(np.sum(a1,axis=1))#每行都单独求和

print(np.max(a1,axis=0))#每列中最大值


#基础运算2

A=np.arange(2,14).reshape((3,4))

print(np.argmin(A))#矩阵最小索引参数,arguments:参数

print(np.argmax(A))#矩阵最大索引参数

#矩阵平均值

print(np.mean(A))

print(A.mean())

print(np.average(A))

print(np.median(A))#中位数

print(A)

print(np.cumsum(A))#逐步累积求和

print(np.diff(A))#逐步累差

print(np.nonzero(A))#找出非0的数

print(np.sort(A))#排序

print(np.transpose(A))#转置

print(A.T.dot(A))#矩阵乘法

print(np.clip(A,5,9))#小于5的数都变成5,大于9的数都等与9,介于5、9中间的数不变,clip:修剪


#切片

#numpy索引,注意:索引号0是开始第一个

B=np.arange(3,15).reshape((3,4))

print(B)

print(B[1][1])#第二行第二列的元素

print(B[2,1])#第三行第二列的元素

print(B[2,1:3])

print(B.flatten())#转化为一行向量,flatten:变平

print(B.reshape(1,12))

for i in B.flat:

    print(i,end=',')


#矩阵合并与分割,

C=np.array([1,1,1,1])

D=np.array([2,2,2,2])

print('1',np.vstack((C,D)))#上下合并,vertical:垂直的

print('2',np.hstack((C,D)))#左右合并,horizontal:水平的

print('3',B)

print('4',np.split(B,2,axis=1))#按行分割,行分成两部分

print('5',np.split(B,3,axis=0))#按列分割,列分成三部分

print('6',np.array_split(B,3,axis=1))#按行不等分割

print('7',np.array_split(B,2,axis=0))#按列不等分割

print('8',np.vsplit(B,3))#横向分割

print('9',np.hsplit(B,2))#纵向分割


你可能感兴趣的:(numpy库)