numpy入门100题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Left_Think/article/details/78124030

本博客仅为作者记录笔记之用,不免有很多细节不对之处。还望各位看官能够见谅,欢迎批评指正。


此文中的题目均来自GitHub,完整代码请参考我的GitHub。期待各位的小心心~~~

一、初级

  1. 导入numpy包,并重命名为np (★☆☆)

  2. 打印numpy库的版本 (★☆☆)

  3. 输出numpy矩阵的大小 (★☆☆)

  4. 如何获取numpy库中某一个函数(如add)的帮助文档 (★☆☆)

  5. 创建一个0向量,向量长度为10,第五个元素为1(★☆☆)

  6. 创建一个向量,值的大小从10开始到49 (★☆☆)

  7. 创建一个长度为10的0向量(★☆☆)

  8. 反转向量 (★☆☆)

  9. 创建1个3*3的矩阵,值为0到8 (★☆☆)

  10. 找出向量[1,2,0,0,4,0]中0的索引 (★☆☆)

  11. 创建1个3*3的单位阵 (★☆☆)

  12. 创建一个3*3*3的矩阵,数值为0-1中随机取值 (★☆☆)

  13. 创建一个10*10的随机矩阵,找到矩阵中的最小值,最大值 (★☆☆)

  14. 创建一个长度为30的随机向量,找到向量的均值 (★☆☆)

  15. 创建一个2维矩阵,边界元素取1,内部元素取0 (★☆☆)

  16. 如何在一个矩阵外围添加一圈0 (★☆☆)

  17. 创建一个5*5的矩阵,对角线元素为[1, 2, 3, 4, 5] (★☆☆)

  18. 创建一个8*8的矩阵,矩阵内的元素为0,1相间 (★☆☆)

  19. 正则化一个5*5的矩阵 (★☆☆)

  20. 创建一个6*7*8的矩阵,输出第100个数字的索引(x, y, z) (★☆☆)

  21. 使用tile函数创建一个0,1相间的8*8矩阵 (★☆☆)

  22. 创建一个自定义类型,来表示四种颜色(RGBL) (★☆☆)

  23. 实现一个5*3的矩阵和3*2的矩阵相乘 (★☆☆)

  24. 给一个一维向量,将向量中5到8的元素设置为-1 (★☆☆)

  25. 如何把一个向量中分非0元素移除 (★☆☆)

  26. 如何查看两个向量中的共同元素 (★☆☆)

  27. 如何忽视掉numpy的warning信息 (★☆☆)

  28. 如何使用numpy库获取昨天、今天、明天的日期 (★☆☆)

  29. 下面表达式中的输出结果为什么? (★☆☆)

0 * np.nan  
np.nan == np.nan  
np.inf > np.nan  
np.nan - np.nan  
0.3 == 3 * 0.1  

2.中级

  1. 如何获取2017年6月的所有日期,将其存放在一个列表中 (★★☆)

  2. 不使用赋值的方式计算((A+B)*(-A/2)) (★★☆)

  3. 提取一个浮点型向量中整数部分 (★★☆)

  4. 创建一个5*5的矩阵,列值为0到4 (★★☆)

  5. 使用一个生成函数来创建一个矩阵 (★★☆)

  6. 创建一个长度为10的向量,向量的值为0到1,包括0和1 (★★☆)

  7. 创建一个长度为10的随机取值的向量,并对其进行排序 (★★☆)

  8. 使用一种方法对向量进行求和,使得它比np.sum更快 (★★☆)

  9. 如何去比较两个向量是否相等 (★★☆)

  10. 创建一个矩阵,该矩阵的状态为只读,不可修改 (★★☆)

答案

一、 初级

  1. import numpy as np
  2. print(np.version)
  3. x = np.zeros(shape=[10], dtype=np.float32)
    print(x.size)
    print(x.itemsize)
  4. print(np.info(np.add))
  5. x = np.zeros(shape=[10])
    x[4] = 1
  6. np.arange(start=10, stop=50, step=1)
  7. np.zeros(shape=[10])
  8. x = np.arange(start=10, stop=50, step=1)
    np.flip(x, axis=-1)
    x[::-1]
  9. x = np.arange(0, 9)
    x.reshape(3, 3)
  10. x = np.array([1, 2, 0, 0, 4, 0])
    np.where(x != 0)
    np.nonzero(x)
  11. np.eye(3)
  12. np.random.random((3, 3, 3))
    np.random.randint(27, size=(3, 3, 3))
  13. x = np.random.random((10, 10))
    x.max(), x.min()
  14. x = np.random.random(30)
    x.mean()
  15. x = np.ones((4, 4))
    x[1:-1, 1:-1] = 0
  16. x = np.ones((4, 4))
    y = np.pad(array=x, pad_width=1, mode=’constant’)
  17. x = np.array([1, 2, 3, 4])
    np.diag(x)
  18. x = np.zeros((8, 8))
    x[1::2, ::2] = 1
    x[::2, 1::2] = 1
  19. x = np.random.random(size=(5, 5))
    x_mean = np.mean(x)
    x_var = np.var(x)
    x_norm = (x - x_mean) / np.sqrt(x_var)
  20. np.unravel_index(100, (6, 7, 8))
  21. np.tile(np.array([[0, 1], [1, 0]]), (4, 4))
  22. color = np.dtype([(“r”, np.ubyte, 1),
    (“g”, np.ubyte, 1),
    (“b”, np.ubyte, 1),
    (“a”, np.ubyte, 1)])
  23. x = np.arange(15).reshape((5, 3))
    y = np.arange(6).reshape((3, 2))
    np.dot(x, y)
  24. x = np.arange(11)
    x[(x >= 3) & (x <= 8)] = -1
  25. x = np.random.uniform(-10, +10, 10)
    np.copysign(np.ceil(np.abs(x)), x)
  26. x = np.arange(0, 10)
    y = np.arange(5, 15)
    np.intersect1d(x, y)
  27. defaults = np.seterr(all=”ignore”)
    Z = np.ones(1) / 0
    _ = np.seterr(**defaults)
  28. today = np.datetime64(‘today’, ‘D’)
    yesterday = today - np.datetime64(1, ‘D’)
    tomorrow = today + np.datetime64(1, ‘D’)
  29. 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

二、中级

猜你喜欢

转载自blog.csdn.net/Left_Think/article/details/78124030