前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NumPy进阶修炼|热身20题

NumPy进阶修炼|热身20题

作者头像
刘早起
发布2020-05-11 18:03:34
4770
发布2020-05-11 18:03:34
举报
文章被收录于专栏:早起Python早起Python

系列导读

01.NumPy进阶修炼|入门

02.NumPy进阶修炼|基础


大家好,NumPy系列讲解已经更新了两期,今天将整理一些相关的题目来实际操作一下,因为在Pandas系列中有涉及到部分NumPy操作因此我也不确定最终会有多少题,暂且先来个20题热热身吧!

01

数据查看

题目:导入并查看NumPy版本

难度:?

答案

代码语言:javascript
复制
import numpy as np
print(np.__version__)

备注:你需要关注你的NumPy版本,部分方法会随着版本更新而变化

02

数据创建

题目:创建十个全为0的一维数组

难度:?

期望结果

代码语言:javascript
复制
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

答案

代码语言:javascript
复制
np.zeros(10)

03

数据创建

题目:创建10个全为0的一维数据并修改数据类型为整数

难度:?

答案

代码语言:javascript
复制
np.zeros(10,dtype = 'int')

04

数据创建

题目:创建20个0-100固定步长的数

难度:?

期望答案

代码语言:javascript
复制
array([ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80,
       85, 90, 95])

答案

代码语言:javascript
复制
np.arange(0,100,5)

05

数据创建

题目:从list创建数组

难度:?

输入

代码语言:javascript
复制
List = [1,2,3,4,5,6,7,8,9]

答案

代码语言:javascript
复制
result = np.array(List)

06

数据创建

题目:创建一个三行三列全是1的矩阵

难度:?

答案

代码语言:javascript
复制
#方法1
np.ones((3,3))
#方法2
np.array([[ 1., 1., 1.],
       [ 1., 1., 1.],
       [ 1., 1., 1.]])

07

数据创建

题目:创建一个2行2列矩阵并且元素为布尔类型的True

难度:??

期望结果

代码语言:javascript
复制
array([[ True, True],
       [ True, True]])

答案

代码语言:javascript
复制
np.full((2,2), True, dtype=bool)

08

数据创建

题目:创建等差数列

备注:从5开始,50结束,共10个数据

难度:?

答案

代码语言:javascript
复制
np.linspace(start=5,stop=50,num=10)

09

数据创建

题目:创建等差数列

备注1:从5开始,50结束,共10个数据,数据类型为int32

难度:??

答案

代码语言:javascript
复制
np.arange(start = 5, stop = 55, step = 5,dtype = 'int32')

备注2:思考与上一题的不同

10

数据创建

题目:创建3x3矩阵

备注:矩阵元素均为0—10之间的随机数

难度:?

答案

代码语言:javascript
复制
np.random.randint(0,10,(3,3))

11

数据创建

题目:创建3x3矩阵

备注:矩阵元素均为服从标准正态分布的随机数

难度:?

答案

代码语言:javascript
复制
np.random.randn(3, 3)

12

数据重塑

题目:将第五题的result修改为3x3矩阵

难度:?

答案

代码语言:javascript
复制
result = result.reshape(3,3)

13

数据修改

题目:对上一题生成的result取转置

难度:?

答案

代码语言:javascript
复制
result.T

14

数据查看

题目:查看result的数据类型

难度:?

答案

代码语言:javascript
复制
result.dtype
#dtype('int64')

15

数据查看

题目:查看result的内存占用

难度:?

备注:直接查看或手动计算

答案

代码语言:javascript
复制
#方法一:直接查看
result.nbytes
#方法2
手动计算
result.itemsize * 9
#72

16

数据创建

题目:将result的数据类型修改为float

难度:?

答案

代码语言:javascript
复制
result = result.astype(float)

17

数据提取

题目:提取result第三行第三列的元素

难度:?

答案

代码语言:javascript
复制
result[2,2]

18

数据修改

题目:将result第三行第三列的元素放大十倍

难度:?

答案

代码语言:javascript
复制
result[2,2] = result[2,2] * 10

19

数据提取

题目:提取result中的所有偶数

难度:??

期望输出

代码语言:javascript
复制
array([ 2., 4., 6., 8., 90.])

答案

代码语言:javascript
复制
result[result % 2 == 0]

20

数据修改

题目:将result中所有奇数修改为666

难度:??

答案

代码语言:javascript
复制
result[result % 2 == 1] = 666

以上就是NumPy进阶修炼系列的第一期习题,主要以基础操作为主,虽然简单但是你都会吗?使用方法当然是打开Notebook完整的敲一遍,当然也可以收藏当成速查手册使用,下期我们将更深入的讲解更多NumPy相关操作并附上习题,拜拜~

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 早起Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com