一、numpy
##########numpy提供了进行数组和矩阵的运算的方法
import numpy as np
a=[1,2,3,4]
b=np.array(a)
########创建简单数组
b.size
b.shape
b.ndim #######维度
b.dtype
array_one = np.ones([10,10]) ######创建10行10列的1的数组
array_one
array_zero = np.zeros([10,10])
array_zero
ones = np.array(array_one) #### 数组的浅复制
ones
one2 = np.asarray(array_one) ####数组的深复制
one2
######随机数组的创建
np.random.rand(10,10) ##创建10行10列1以内的数组
np.random.randint(0,100) ####得到指定范围的一个整数
np.random.uniform(0,100) #####得到指定范围的一个浮点数
np.random.normal(1.75,0.1,(2,3)) ####指定数组的均值,方差和维度来建立一个数组
arr = np.random.normal(1.75,0.1,(4,5))
print(arr)
after_arr = arr[1:3,2:4] ####二维数组的索引切片
print(after_arr)
one_20 = np.ones([20])
print(one_20)
after_one20 = one_20.reshape(4,5) ###数组重新改变形状,就是改变维度
print(after_one20)
########numpy的计算 重要
stus_score=np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
print(stus_score)
####条件计算
stus_score>80
np.where(stus_score<80,0,90)
####计算指定行列的最大最小值等(统计运算)
result=np.amax(stus_score,axis=0)
print(result)
result=np.amax(stus_score,axis=1)
print(result)
print(np.mean(stus_score,axis=1))
print(np.amin(stus_score,axis=1))
print(np.std(stus_score,axis=0))
####数组运算
stus_score=np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
print(stus_score)
stus_score[:,0]=stus_score[:,0]+5 #######数组的加法
print(stus_score)
stus_score[:,0]=stus_score[:,0]*0.5 ####乘法
print(stus_score)
#######矩阵运算 重要
stus_score=np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
q = np.array([[0.4],[0.6]])
result=np.dot(stus_score,q) #####根据加权计算一个学生的成绩
print(result)
print("v1为:")
v1 = [[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11]]
print(v1)
print("v2为:")
v2 = [[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]]
print(v2)
result=np.vstack((v1,v2)) #####矩阵的垂直拼接
print(result)
print(np.hstack((v1,v2))) ##3矩阵的水平拼接
result=np.genf