100个Numpy练习【1】
时间:2022-05-05
本文章向大家介绍100个Numpy练习【1】,主要内容包括1. 导入numpy库并取别名为np (★☆☆)、2. 打印输出numpy的版本和配置信息 (★☆☆)、3. 创建长度为10的零向量 (★☆☆)、4. 获取数组所占内存大小 (★☆☆)、5. 怎么用命令行获取numpy add函数的文档说明? (★☆☆)、6. 创建一个长度为10的零向量,并把第五个值赋值为1 (★☆☆)、7. 创建一个值域为10到49的向量 (★☆☆)、8**. 将一个向量进行反转(第一个元素变为最后一个元素)** (★☆☆)、9. 创建一个3×3的矩阵,值域为0到8(★☆☆)、10. 从数组[1, 2, 0, 0, 4, 0]中找出非0元素的位置索引 (★☆☆)、11. 创建一个3×3的单位矩阵 (★☆☆)、12. 创建一个3x3x3的随机数组(★☆☆)、13. 创建一个10×10的随机数组,并找出该数组中的最大值与最小值(★☆☆)、14. 创建一个长度为30的随机向量,并求它的平均值 (★☆☆)、15. 创建一个2维数组,该数组边界值为1,内部的值为0 (★☆☆)、16. 如何用0来填充一个数组的边界? (★☆☆)、17. 下面表达式运行的结果是什么?(★☆☆)、18. 创建一个5×5的矩阵,且设置值1, 2, 3, 4在其对角线下面一行(★☆☆)、19. 创建一个8×8的棋盘矩阵(填充为棋盘样式) (★☆☆)、20. 思考一下形状为(6, 7, 8)的数组的形状,且第100个元素的索引(x, y, z)分别是什么?(★☆☆)、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
- 翻译:YingJoy
- 网址: https://www.yingjoy.cn/
- 来源: https://github.com/rougier/numpy-100
- 全文: https://github.com/yingzk/100_numpy_exercises
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)))
- 服务器端Javascript
- ASP连接数据库
- 彻底隐藏你HTML网页的源代码
- java学习:JMM(java memory model)、volatile、synchronized、AtomicXXX理解
- 使用CSS制作文字环绕图片效果(文字内容包含<li>标签)
- ClojureScript魔法堂:搭建开发环境
- PHP error_reporting() 错误控制函数功能详解
- centos上安装elasticsearch 5.5.1 遇到的各种坑
- 概率论08 随机变量的函数
- @Transactional导致AbstractRoutingDataSource动态数据源无法切换的解决办法
- 防F12扒代码:按下F12关闭当前页面
- TCP/IP(七)之玩转HTTP协议
- Android的历史与花边
- 意译:《JVM Internals》
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- HDU 1022(关于栈的详细解法)
- count_if函数的用法
- Codeforces Round #633 (Div. 2) A ~~C
- AtCoder Beginner Contest 162 A~~D
- P1036 选数
- P1028 数的计算
- P1598 垂直柱状图
- 递归解决全排列问题
- Codeforces Round #622 (Div. 2)A~~C1
- AtCoder Beginner Contest 156 A~~D
- AtCoder Beginner Contest 155
- Codeforces Round #620 (Div. 2) A~~D
- DFS+记忆化搜索 -- 简单练习
- AtCoder Beginner Contest 154
- map + pair用法练习