第1题 创建一个8*8的二维ndarray对象A。要求 A为上三角矩阵...如图
观察后不难看出这是一个由1-127的64个数字组成的二维数组,保留上三角的元素得到的,
有两种方法得到这个步长为2的数列,
A = np.arange(1,129,2)
或者a = np.linspace(1,127,64)
import numpy as np
a = np.arange(1,129,2)
print(a)
b = a.reshape(8,8)
print(b)
然后就是如何把它变成上三角阵
numpy中,np.triu(a)是将矩阵变成上三角阵
np.tril(a)是将矩阵变成下三角阵
第4题 请打印出姓Smith并且年龄大于14岁的同学的入学日期![](https://i-blog.csdnimg.cn/blog_migrate/0d8c7da4438080e3b9601b3e8f2e4cd2.png)
这道题更像是一道SQL题,采用的是数组切片的方法
import numpy as np
data = np.array([['Bob','Smith','12','2019-02-01'],
['Joe','Lawrence','13','2018-03-07'],
['Roy','Ratner','12','2019-02-05'],
['Rita','Smith','14','2017-02-16'],
['Alice','Holmes','11','2020-02-29'],
['Wool','Smith','15','2016-02-14']])
Smith_tuples = data[(data[:,1]=='Smith')]
agedSmith_tuples = data[(data[:,2].astype('int')>14)]
#print(Smith_tuples)
#print(agedSmith_tuples)
print(agedSmith_tuples[:,3])
注意,在最后输出的时候不能直接print(agedSmith_tuples[3]),因为agedSmith_tuples依然是二维数组,如果我们把年龄选为>=14,则会出现两个入学日期。