from numpy import *
一、Numpy库的使用示例:创建数组
#创建多维数组
print(arange(5)) #输出0到4的数组同,看着像一个列表,但其实返回值类型是numpy.ndarry
print(arange(5) ** 3) #对数组进行4次方运算
a=arange(5)
print(a.shape) #输出每一维度的元素个数
print(a.shape[0]) #输出第一个维度的元素个数
m1 = array([arange(3),arange(3)]) #创建一个23的二维矩阵
m2 = array([[“a”,“ab”,4],[1,2,3],[5.3,5,3]]) #创建一个33的混合类型数组,每个数组元素的类型可能不一样
print (m2)
print(m1.shape[0]) #输出m1的第一维的元素个数
print(m1.shape[1]) #输出m1的第二维的元素个数
print("_________________________________")
#获取数组值和数组的分片
a=array([[1,2,3],[4,5,6],[7,8,9]]) #定义一个二维数组
print(a[0,0]) #输出数组a的第一行第一列的值
print(“a[0,1]={},a[2,1]={}”.format(a[0,1],a[2,1])) #按格式进行输出
print(a[0:1]) #分片操作,将33的数组变成13的二维数组
print(a[0:1][0]) #分片操作,获取13数组的第一行的值
print(a[0:2]) #分片 操作,将33数组变成2*3数组
b=a[0:] #b与a是相同的
print(a[0::2]) #分片操作,步长为2
print(a[-3:-1]) #分片操作,与a[0:2]结果相同
print("_________________________________")
#改变数组的维度
b = arange(24).reshape(2,3,4) #将一维数组变成三维数组
print(b)
b1=b.ravel() #将三维数组变成一维数组
print (b1)
b2 = b.flatten() #将三维数组变成一维数组
print(b2)
b.shape =(6,4) #将三维数组变成6*4二维数组
print(b)
b3 = b.transpose() #数组转置
print(b3)
b.resize((2,12)) #将三维数组变成二维数组(2行,12列)
print(b)
print("__________________________________")
#水平组合数组
a = arange(9).reshape(3,3)
b = a * 3
c = a *5
print(a)
print(b)
print(hstack((a,b))) #水平组合a和b
print(hstack((a,b,c))) #水平组合a,b和c
print("—————————————————————————————————————————")
#垂直数组组合
a = arange(12).reshape(3,4)
b = arange(16).reshape(4,4)
c = arange(20).reshape(5,4)
print(a)
print(b)
print©
print(vstack((a,b,c))) #垂直组合 a,b和c
print("______________________________________")
#水平分隔数组
a = arange(8).reshape(2,4)
b = hsplit(a,4) #将24的二维数组分隔成4个21的数组
print(b)
print(b[0].shape)
print(b[0])
print(b[2])
print(hsplit(a,2))
print("______________________________________")
#垂直分隔数组
a=arange(8).reshape(4,2)
c=vsplit(a,4) #将42的二维数组分割成4个12的数组
print©
print("_____________________________________")
#将数组转换为Python列表
a = array([1,2,3,4,5,6])
print(a)
print(type(a))
b1 = a.tolist() #将一维数组转换为列表
print(b1)
print(type(b1))
b2 = a.reshape(2,3)
print(b2)
print(type(b2))
b3=b2.tolist()
print(b3)
print(type(b3))
print("_____________________")
二、Numpy库的使用示例:常用函数
#存取NumPy数组
a = arange(20)
savetxt(“a.txt”,a,fmt=’%d’) #将数组a以整数格式保存为a.txt文件,默认为当前工程所在路径
savetxt(“b.txt”,a,fmt=’%.2f’) #将数组a以浮点数格式保存为b.txt文件,默认为当前工程所在路径
aa = loadtxt(“a.txt”,dtype=‘int’) #从a.txt文件以整数形式读取文本数据,并返回NumPy数组
bb = loadtxt(“b.txt”,dtype=‘float’) #从b.txt文件以浮点数形式读取文本数据,并返回NumPy数组
print(aa)
print(bb)
x = arange(16).reshape(4,4)
print(x)
savetxt(“x.txt”,x,fmt=’%d’) #以整数形式保存二维数组x
y = loadtxt(“x.txt”,dtype=‘int’) #以整数形式读取二维数组
print(y)
#读写CSV文件
a=arange(20).reshape(4,5)
print(a)
savetxt(‘a.txt’, a, fmt=’%d’, delimiter=’,’) #将数组保存在a.txt中,并用逗号隔开
print(’___________________________’)
b = loadtxt(‘a.txt’,dtype=int, delimiter=’,’,usecols=(1,3,4)) #从a.txt文件以整数类型装载数据,只获取第2,4,5列的数据
print(b)
x,y= loadtxt(‘a.txt’,dtype=int,delimiter=’,’,usecols=(1,4),unpack = True) #获取第1列和第4列的数据,并分别将数据赋给x变量和y变量
print(x)
print("___________________________")
print(y)
print(max(x)) #x的最大值
print(min(y)) #y的最小值
z=average(x,weights=y) #以y为权重,对x加权求和。y要先进行归一化处理
print(‘z=’,z)
print("___________________________")
#计算中位数和方差
a=arange(4)
print(a)
print(median(a)) #元素个数为偶数时的中位数,取中间两个数据的平均值
b=arange(5)
print(b)
print(median(b)) #元素个数为奇数时的中位数,取中间的数据值
print(var(a)) #计算方差
print("___________________________")
#计算相关性
a=array([3,6,9,22])
b=array(arange(4))
print(corrcoef(a,b)) #计算两个矩阵的相关性
from matplotlib.pyplot import * #导入绘图模块
t = arange(len(a)) #生成一个模拟时间的数组
plot(t,a,lw =1) #绘制a的曲线
plot(t,b,lw = 2) #绘制b的曲线
show() #显示图像