100个Numpy练习【1】

Numpy是Python做数据分析必须掌握的基础库之一,非常适合刚学习完Numpy基础的同学,完成以下习题可以帮助你更好的掌握这个基础库。

Python版本:Python 3.6.2

Numpy版本:Numpy 1.13.1

1. 导入numpy库并取别名为np (★☆☆)

(提示: import … as …)

import numpy as np

2. 打印输出numpy的版本和配置信息 (★☆☆)

(提示: np.__verison__, np.show_config)

print (np.__version__)
np.show_config()

3. 创建长度为10的零向量 (★☆☆)

(提示: np.zeros)

Z = np.zeros(10)
print (Z)

4. 获取数组所占内存大小 (★☆☆)

(提示: size, itemsize)

Z = np.zeros((10, 10))
print (Z.size * Z.itemsize)

5. 怎么用命令行获取numpy add函数的文档说明? (★☆☆)

(提示: np.info)

np.info(np.add)

6. 创建一个长度为10的零向量,并把第五个值赋值为1 (★☆☆)

(提示: array[4])

Z = np.zeros(10)
Z[4] = 1
print (Z)

7. 创建一个值域为10到49的向量 (★☆☆)

(提示: np.arange)

Z = np.arange(10, 50)
print (Z)

8. 将一个向量进行反转(第一个元素变为最后一个元素) (★☆☆)

(提示: array[::-1])

Z = np.arange(50)
Z = Z[::-1]
print (Z)

9. 创建一个3×3的矩阵,值域为0到8(★☆☆)

(提示: reshape)

Z = np.arange(9).reshape(3, 3)
print (Z)

10. 从数组[1, 2, 0, 0, 4, 0]中找出非0元素的位置索引 (★☆☆)

(提示: np.nonzero)

nz = np.nonzero([1, 2, 0, 0, 4, 0])
print (NZ)

11. 创建一个3×3的单位矩阵 (★☆☆)

(提示: np.eye)

Z = np.eye(3)
print (Z)

12. 创建一个3x3x3的随机数组(★☆☆)

(提示: np.random.random)

Z = np.random.random((3, 3, 3))
print (Z)

13. 创建一个10×10的随机数组,并找出该数组中的最大值与最小值(★☆☆)

(提示: max, min)

Z = np.random.random((10, 10))
Zmax, Zmin = Z.max(), Z.min()
print (Z.max, Z.min)

14. 创建一个长度为30的随机向量,并求它的平均值 (★☆☆)

(提示: mean)

Z = np.random.random(30)
mean = Z.mean()
print (mean)

15. 创建一个2维数组,该数组边界值为1,内部的值为0 (★☆☆)

(提示: array[1:-1, 1:-1])

Z = np.ones((10, 10))
Z[1:-1, 1:-1] = 0
print (Z)

16. 如何用0来填充一个数组的边界? (★☆☆)

(提示: np.pad)

Z = np.ones((10, 10))
Z = np.pad(Z, pad_width=1, mode='constant', constant_values=0)
print (Z)

17. 下面表达式运行的结果是什么?(★☆☆)

(提示: NaN = not a number, inf = infinity)

(提示:NaN : 不是一个数,inf : 无穷)

# 表达式                           # 结果
0 * np.nan                        nan
np.nan == np.nan                  False
np.inf > np.nan                   False
np.nan - np.nan                   nan
0.3 == 3 * 0.1                    False

18. 创建一个5×5的矩阵,且设置值1, 2, 3, 4在其对角线下面一行(★☆☆)

(提示: np.diag)

Z = np.diag([1, 2, 3, 4], k=-1)
print (Z)

19. 创建一个8×8的棋盘矩阵(填充为棋盘样式) (★☆☆)

(提示: array[::2])

Z = np.zeros((8, 8), dtype=int)
Z[1::2, ::2] = 1
Z[::2, 1::2] = 1
print (Z)

20. 思考一下形状为(6, 7, 8)的数组的形状,且第100个元素的索引(x, y, z)分别是什么?(★☆☆)

(提示: np.unravel_index)

print (np.unravel_index(100, (6, 7, 8)))

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

tensorflow读取数据-tfrecord格式

概述关于tensorflow读取数据,官网给出了三种方法: 1、供给数据:在tensorflow程序运行的每一步,让python代码来供给数据 2、从文件读取数...

9666
来自专栏C语言及其他语言

【每日一题】1442[蓝桥杯][历届试题]打印十字图

继续给大家来一个蓝桥杯的真题,想练就能成大神! 请看题: 问题描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: ..$$$$$...

2849
来自专栏AI研习社

将 Tensorflow 图序列化以及反序列化的巧妙方法

将类中的字段和 graph 中的 tensorflow 变量进行自动绑定,并且在不需要手动将变量从 graph 中取出的情况下进行重存,听起来有没有很炫酷?

1454
来自专栏WebDeveloper

sass的高级用法

进入到Koala 安装目录 D:\Koala\rubygems\gems\sass-3.4.9\lib\sass修改 engine.rb 文件 在requir...

822
来自专栏深度学习自然语言处理

【python】命令行参数argparse用法详解

prog.py是我在linux下测试argparse的文件,放在/tmp目录下,其内容如下:

973
来自专栏大闲人柴毛毛

张全蛋和李小花的故事——“代理模式”

举个例子: 假设张全蛋喜欢上了李小花,张全蛋准备给李小花送一些礼物,但张全蛋又非常害羞,因此买了礼物之后让王尼玛代送。王尼玛跑到李小花把礼物送给她之后就走了。 ...

37912
来自专栏深度学习之tensorflow实战篇

python 网页特征提取XPATH(两天玩转) 第一天

XPath 是一门在 XML 文档中查找信息的语言。XPath 用来在 XML 文档中对元素和属性进行遍历。关于xpath的说明文档可以参照 : XPATH基础...

4363
来自专栏大数据智能实战

tensorflow.models.rnn.rnn_cell.linear在tensorflow1.0版本之后找不到(附tensorflow1.0 API新变化)

由于版本更新关系,从原来的tensorflow低版本到升级到tensorflow1.0以上时,发现有很多API函数变化是很正常的事情,大多碰到的如: 如其中tf...

3007
来自专栏一“技”之长

一个移动开发者的Mock数据之路 原

    在前端开发中,很大一部分工作都是将后台数据获取到后展示在前端界面上。如果接口是现成的,这个过程还相对容易一些,但是如果接口的开发和前端开发是同时进行的,...

701
来自专栏郭耀华‘s Blog

tf.variable和tf.get_Variable以及tf.name_scope和tf.variable_scope的区别

在训练深度网络时,为了减少需要训练参数的个数(比如具有simase结构的LSTM模型)、或是多机多卡并行化训练大数据大模型(比如数据并行化)等情况时,往往需要共...

3346

扫码关注云+社区