当前位置:   article > 正文

numpy 练习100题(1~40)_numpy练习项目

numpy练习项目

numpy 练习100题(1~40)

1. 导入numpy库并取别名为np

import numpy as np
  • 1

2. 打印输出numpy的版本和配置信息

print(np.__version__)
np.show_config()
  • 1
  • 2

3. 创建长度为10的零向量

a = np.zeros(10)
print(a)
  • 1
  • 2

4. 获取数组所占内存大小

a = np.zeros(10)
print(a.size * a.itemsize)
  • 1
  • 2

5. 怎么用命令行获取numpy add函数的文档说明

print(np.info(np.add))
  • 1

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

a = np.zeros(10)
a[4] = 1
print(a)
  • 1
  • 2
  • 3

7. 创建一个值域为10到49的向量

a = np.arange(10, 50)
print(a)
  • 1
  • 2

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

a = np.arange(10, 50)
a = a[::-1]
print(a)
  • 1
  • 2
  • 3

9. 创建一个3x3的矩阵,值域为0到8

a = np.arange(0, 9).reshape((3, 3))
print(a)
  • 1
  • 2

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

a = np.array([1, 2, 0, 0, 3])
b = np.nonzero(a)
print(b)
  • 1
  • 2
  • 3

11. 创建一个3x3的单位矩阵

a = np.eye(3)
print(a)
  • 1
  • 2

12. 创建一个3x3x3的随机数组

a = np.random.random((3, 3, 3))
print(a)
  • 1
  • 2

13. 创建一个10x10的随机数组,并找出该数组中的最大值与最小值

a = np.random.random((10, 10, 10))
print(np.amax(a))
print(np.amin(a))
  • 1
  • 2
  • 3

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

a = np.random.random((10, 10, 10))
print(np.mean(a))
  • 1
  • 2

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

a = np.ones((3, 4))
a[1:-1, 1:-1] = 0
print(a)
  • 1
  • 2
  • 3

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

a = np.ones((3, 4))
a = np.pad(a, pad_width=1, mode='constant', constant_values=0)
print(a)
  • 1
  • 2
  • 3

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

print(0 * np.nan)
print(np.nan == np.nan)
print(np.inf > np.nan)
print(np.nan - np.nan)
print(0.3 == 3 * 0.1)
  • 1
  • 2
  • 3
  • 4
  • 5

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

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

19. 创建一个8x8的国际象棋棋盘矩阵(黑块为0,白块为1)

a = np.zeros((8, 8))
a[::2, 1::2] = 1
a[1::2, ::2] = 1
print(a)
  • 1
  • 2
  • 3
  • 4

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

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

21. 用tile函数创建一个8x8的棋盘矩阵

print(np.tile([[1, 0], [0, 1]], (4, 4)))
  • 1

22. 对5x5的随机矩阵进行归一化

a = np.random.random((5, 5))
a = (a-np.min(a))/np.ptp(a)
print(a)
  • 1
  • 2
  • 3

23. 创建一个dtype来表示颜色(RGBA)

rgba = np.dtype([('R', 'u1'), ('G', 'u1'), ('B', 'u1'), ('A', 'u1')])
a = np.array((255, 255, 1, 0), dtype=rgba)
print(a)
  • 1
  • 2
  • 3

24. 一个5x3的矩阵和一个3x2的矩阵相乘,结果是什么?

print(np.dot(np.ones((5, 3)), np.ones((3, 2))))
  • 1

在这里插入图片描述

25. 给定一个一维数组把它索引从3到8的元素求相反数

a = np.arange(1, 13)
a[3:8] = np.negative(a[3:8])
print(a)
  • 1
  • 2
  • 3

26. 下面的脚本的结果是什么?

print(sum(range(5), -1))
  • 1
from numpy import *
print(sum(range(5), -1))
  • 1
  • 2

在这里插入图片描述

27. 关于整形的向量Z下面哪些表达式正确?

Z = np.arange(5)
print(Z**Z)
print(2 << Z >> 2)
print(Z <- Z)
print(1j*Z)
print(Z/1/1)
print(Z<Z>Z)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述在这里插入图片描述

28. 下面表达式的结果分别是什么?

print(np.array(0) / np.array(0))
print(np.array(0) // np.array(0))
print(np.array([np.nan]).astype(int).astype(float))
  • 1
  • 2
  • 3

在这里插入图片描述

29. 如何从零位开始舍入浮点数组?

a = np.random.uniform(-10, +10, 10)
b = np.ceil(np.abs(a))
b = np.copysign(b, a)
print(b)
  • 1
  • 2
  • 3
  • 4

30. 如何找出两个数组公共的元素?

a = np.random.randint(1, 10, 10)
b = np.random.randint(1, 10, 10)
print(np.intersect1d(a, b))
  • 1
  • 2
  • 3

31. 如何忽略numpy的警告信息?

defaults = np.seterr(all="ignore")
Z = np.ones(1) / 0
  • 1
  • 2

32. 下面的表达式是否为真?

print(np.sqrt(-1) == np.emath.sqrt(-1))
  • 1

在这里插入图片描述

print(np.sqrt(-1))
print(emath.sqrt(-1))
  • 1
  • 2

在这里插入图片描述

33. 如何获得昨天,今天和明天的日期?

yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
today = np.datetime64('today', 'D')
tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
  • 1
  • 2
  • 3

34. 怎么获得2016年7月的所有日期?

days = np.arange("2016-07", "2016-08", dtype="datetime64[D]")
print(days)
  • 1
  • 2

35. 如何计算 ((A+B)*(-A/2)) (不使用中间变量)?

A = np.ones(3) * 1
B = np.ones(3) * 2
print(np.add(A, B, out=B))
print(np.divide(A, 2, out=A))
print(np.negative(A, out=A))
print(np.multiply(A, B, out=A))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

36. 用5种不同的方法提取随机数组中的整数部分

a = np.random.uniform(0, 10, 10)
print(np.ceil(a))
print(np.floor(a))
print(a // 1)
print(a - a % 1)
print(np.trunc(a))
print(a.astype(int))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

37. 创建一个5x5的矩阵且每一行的值范围为从0到4

a = np.arange(0, 5)
a = np.resize(a, (5, 5))
print(a)
  • 1
  • 2
  • 3

38. 如何用一个生成10个整数的函数来构建数组

genter = (x for x in range(10))
a = np.fromiter(genter, dtype=float, count=-1)
print(a)
  • 1
  • 2
  • 3

39. 创建一个大小为10的向量, 值域为0到1,不包括0和1

a = np.linspace(0, 1, 12)[1:-1]
print(a)
  • 1
  • 2

40. 创建一个大小为10的随机向量,并把它排序

a = np.random.random(10)
print(np.sort(a))
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/1004495
推荐阅读
相关标签
  

闽ICP备14008679号