Python练习七

import numpy as np #引入numpy


1. 利用Nampy多项式解方程 x^2+x-6 = 0

y=np.poly1d([1,1,-6])  #多项式
np.roots(y)   #求根解


2. 创建一个9x9的全1二维数组,再将二维数组四条边上的数据都修改为0

b = np.ones((9,9), dtype=np.uint8) 
print(b)
b[0]=b[8]=b[:,0]=b[:,8]=0
print(b)


3. 模拟生成 50名同学的单科成绩,符合正态分布N(70, 100)。完成排序,求最大值、最小值和均值。

b=np.random.normal(loc=70,scale=10,size=50)
print(np.sort(b))  #排序
b.max(),b.min(),b.mean() #最大,最小,均值


4. 1)已知数组arr1为[[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]],
将其在水平方向上分别分割2个数组和4个数组。
2)已知数组arr2为[[0,1,2],[3,4,5],[6,7,8]],将其在垂直方向上进行分割成3个数组。


import numpy as np #引入numpy
a=np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]])
print("分割为两个数组",np.hsplit(a,2))


import numpy as np #引入numpy
a=np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]])
print("分割为四个数组",np.hsplit(a,4))


import numpy as np #引入numpy
a=np.array([[0,1,2],[3,4,5],[6,7,8]])
print("竖直分割成三个数组",np.vsplit(a,3))

5.在数组array([[0,1,2],[3,4,5],[6,7,8]])的基础上,
在行上扩充内容[10,12,15], 赋值给变量;在列上扩充内容[11,12,13], 赋值给变量c。

a=np.array([[0,1,2],[3,4,5],[6,7,8]])
b = np.array([[10,12,15]])
d = np.insert(a, 0, values=b, axis=0)
print(d)
c=np.insert(a, 0, values=b, axis=1)
print(c)


6.a)随机生成50-100之间的10行6列的整数数据,输出显示; 
b)对上述数据分别进行水平方向的总和统计及垂直方向上平均值统计。 
c)对上述数据进行水平方向上的最大值与最小值差值的统计。
d)统计以上数据中数值在90以上的比率。

np.random.seed(7)
b=np.random.randint(50,100,size=60).reshape(10,6)
print(b)
c=np.sum(b,axis=1)
print("水平方向的总和:",c)
d=np.mean(b,axis=0)
print("垂直方向上平均值:",d)
f=np.ptp(b,axis=1)
print("水平方向上的最大值与最小值差值:",f)
e=np.quantile(b,0.9)
print("数值在90以上的比率:",e)

你可能感兴趣的:(python,numpy,开发语言)