我的公众号:早起Python
关注第一时间接收最新文章
===
大家好,NumPy系列讲解已经更新了两期,今天将整理一些相关的题目来实际操作一下,因为在Pandas系列中有涉及到部分NumPy操作因此我也不确定最终会有多少题,暂且先来个20题热热身吧!
01数据查看
题目:导入并查看NumPy版本
难度:⭐
答案
import numpy as np
print(np.__version__)
备注:你需要关注你的NumPy版本,部分方法会随着版本更新而变化
02数据创建
题目:创建十个全为0的一维数组
难度:⭐
期望结果
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
答案
np.zeros(10)
03数据创建
题目:创建10个全为0的一维数据并修改数据类型为整数
难度:⭐
答案
np.zeros(10,dtype = 'int')
04数据创建
题目:创建20个0-100固定步长的数
难度:⭐
期望答案
array([ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80,
85, 90, 95])
答案
np.arange(0,100,5)
05数据创建
题目:从list创建数组
难度:⭐
输入
List = [1,2,3,4,5,6,7,8,9]
答案
result = np.array(List)
06数据创建
题目:创建一个三行三列全是1的矩阵
难度:⭐
答案
#方法1
np.ones((3,3))
#方法2
np.array([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]])
07数据创建
题目:创建一个2行2列矩阵并且元素为布尔类型的True
难度:⭐⭐
期望结果
array([[ True, True],
[ True, True]])
答案
np.full((2,2), True, dtype=bool)
08数据创建
题目:创建等差数列
备注:从5开始,50结束,共10个数据
难度:⭐
答案
np.linspace(start=5,stop=50,num=10)
09数据创建
题目:创建等差数列
备注1:从5开始,50结束,共10个数据,数据类型为int32
难度:⭐⭐答案
np.arange(start = 5, stop = 55, step = 5,dtype = 'int32')
备注2:思考与上一题的不同
10数据创建
题目:创建3x3矩阵备注:矩阵元素均为0—10之间的随机数
难度:⭐
答案
np.random.randint(0,10,(3,3))
11数据创建
题目:创建3x3矩阵备注:矩阵元素均为服从标准正态分布的随机数
难度:⭐
答案
np.random.randn(3, 3)
12数据重塑
题目:将第五题的result修改为3x3矩阵
难度:⭐
答案
result = result.reshape(3,3)
13数据修改
题目:对上一题生成的result取转置
难度:⭐
答案
result.T
14数据查看
题目:查看result的数据类型
难度:⭐
答案
result.dtype
#dtype('int64')
15数据查看
题目:查看result的内存占用
难度:⭐
备注:直接查看或手动计算
答案
#方法一:直接查看
result.nbytes
#方法2
手动计算
result.itemsize * 9
#72
16数据创建
题目:将result的数据类型修改为float
难度:⭐
答案
result = result.astype(float)
17数据提取
题目:提取result第三行第三列的元素
难度:⭐
答案
result[2,2]
18数据修改
题目:将result第三行第三列的元素放大十倍
难度:⭐
答案
result[2,2] = result[2,2] * 10
19数据提取
题目:提取result中的所有偶数
难度:⭐⭐
期望输出
array([ 2., 4., 6., 8., 90.])
答案
result[result % 2 == 0]
20数据修改
题目:将result中所有奇数修改为666
难度:⭐⭐
答案
result[result % 2 == 1] = 666
以上就是NumPy进阶修炼系列的第一期习题,主要以基础操作为主,虽然简单但是你都会吗?使用方法当然是打开Notebook完整的敲一遍,当然也可以收藏当成速查手册使用,下期我们将更深入的讲解更多NumPy相关操作并附上习题,拜拜~