API

  1. import numpy as np
  2. # 初始化一个numpy的数组
  3. np.array([1, 2, 3])
  4. # 创建一个0-9的数组
  5. np.array(10)
  6. # 初始化一个默认值为0的二维数组
  7. np.zeros((10, 1))
  8. np.zeros((10, 10))
  9. # 初始化一个任意大小的二维数组
  10. np.full((10,10),2)
  11. # 查看数组的形状
  12. a = np.arange(10)
  13. a.shape
  14. # 查看维度
  15. a.ndim
  16. # 查看数组大小
  17. a.size
  18. # 修改数组的形状
  19. a = np.arange(100).reshape((10, 10))
  20. # 取值
  21. a[0][1] === a[0, 1]
  22. # 取一整行的值
  23. a[0, :]
  24. # 取第一行中第二个到倒数第二个的值
  25. a[0, 1:-1]
  26. # 或者只去偶数位的值 其中2代表步幅
  27. a[0, ::2]
  28. # 取0行和最后一行的值
  29. a[[0, -1], :]
  30. # 取出数组中大于50的数
  31. a[a > 50]
  32. # 取数组中的最大值
  33. np.max(a)
  34. # 求每一行的最大值 axis=1 代表行 axis=0 代表列
  35. np.max(a, axis=1)
  36. # 求每一行的和
  37. np.sum(a, axis=1)
  38. # 求每一行的sin值
  39. np.sin(a)
  40. # 获取最大值下标
  41. np.argmax(a)
  42. # 求均值 axis表示对行求均值
  43. np.mean([[1,2,3],[4,5,6]], axis=1)
  44. # 返回对数的值
  45. np.logspace(-0.6, -2.3, 5)
  46. # np.r_是按行连接两个矩阵,就是把两矩阵上下相加,要求行数相等
  47. # np.c_是按列连接两个矩阵,就是把两矩阵左右相加,要求列数相等
  48. data1 = [1,2,3,4]
  49. data2 = [1,2,3,4]
  50. np.c_[data1, data2]
  51. # 扁平化成一维数组ravel
  52. a = np.arange(100).reshape(10,10).ravel()
  53. # empty
  54. np.empty(3,2)
  55. # 数组乱序
  56. arr1 = np.arange(3)
  57. arr2 = np.random.permutation(len(arr1))
  58. arr1 = arr1[arr2]
  59. # 数组增加维度
  60. arr1 = np.array([1,2,3])
  61. arr1 = arr1[:, np.newaxis]
  62. arr1 = np.expand_dims(arr1, -1)

锻炼

https://github.com/sunwu51/notebook/blob/master/20.01/numpy101noanswer.ipynb