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)