NumPy进阶修炼|热身20题

我的公众号:早起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相关操作并附上习题,拜拜~

原文地址:https://www.cnblogs.com/liuzaoqi/p/13041410.html