当前位置:   article > 正文

numpy的实践操作_numpy实践学习

numpy实践学习

目录

numpy属性

生成数组的方法

 形状的修改

类型的修改与去重

绘制数学图像

逻辑运算

统计计算

矩阵乘法


numpy属性

  1. import numpy as np
  2. # shape 数组的维度元组,ndim维数,size元素个数
  3. # 一维数组
  4. data1 = np.array([1, 2, 3.5, 4, 5]) # 一行五列
  5. print(np.shape(data1))
  6. print(np.ndim(data1))
  7. print(np.size(data1))
  8. print(data1.dtype)
  9. print('-' * 100)
  10. # 二维数组
  11. data2 = np.array(
  12. [[1, 2, 3],
  13. [4, 5, 6],
  14. [7, 8, 9]]
  15. ) # 三行三列
  16. print(np.shape(data2)) # 维度元组
  17. print(np.ndim(data2)) # 维数
  18. print(np.size(data2)) # 元素个数
  19. print(data2.dtype) # 类型
  20. print(data2.itemsize) # 大小,单位:字节

生成数组的方法

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 生成数组的方法
  4. # 1)生成0和1
  5. data1 = np.zeros(shape=(3, 4), dtype='int64')
  6. print(data1)
  7. data2 = np.ones(shape=(3, 4), dtype='int64')
  8. print(data2)
  9. print('-' * 100)
  10. # 2)生成固定范围的数组
  11. data3 = np.linspace(0, 20, 5, )
  12. print(data3)
  13. data4 = np.arange(0, 10, 5)
  14. print(data4)
  15. print('-'*100)
  16. # 3)生成随机数组
  17. # 均匀分布
  18. data5 = np.random.uniform(low=-1, high=1, size=1000000) # [-1,1]之间均匀分布
  19. # print(data5)
  20. # 创建画布
  21. plt.figure(figsize=(20,8),dpi= 80)
  22. # 绘制直方图
  23. plt.hist(data5,bins = 1000)
  24. # 展示图片
  25. plt.show()
  26. # 正态分布
  27. data6 = np.random.normal(loc= 1.75, scale= 0.1,size=1000000)
  28. # 创建画布
  29. plt.figure(figsize=(20,8),dpi= 80)
  30. # 绘制直方图
  31. plt.hist(data6,bins= 1000)
  32. # 展示图片
  33. plt.show()

 

 形状的修改

  1. import numpy as np
  2. # 二维数组
  3. data2 = np.array(
  4. [[1, 2],
  5. [4, 5],
  6. [7, 8]]
  7. )
  8. # 修改形状,行和列
  9. print(data2)
  10. data2.resize((2,3))
  11. print(data2)
  12. print('-'*100)
  13. # 矩阵的逆置
  14. data2 = data2.T
  15. print(data2)

类型的修改与去重

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. data1 = np.array(
  4. [[1, 2],
  5. [2, 5],
  6. [7, 8]]
  7. )
  8. data2 = np.array(
  9. [[1,2,3,4],
  10. [3,4,5,6]]
  11. )
  12. # 修改类型
  13. print(data1.dtype)
  14. data1 = data1.astype('int64')
  15. print(data1.dtype)
  16. # 去重
  17. data2 = np.unique(data2)
  18. print(data2)

绘制数学图像

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 准备数据
  4. x = np.linspace(-1,1,10000)
  5. y = (x**2)/2
  6. # 创建画布
  7. plt.figure(figsize=(20,8),dpi=80)
  8. # 绘制和展示图像
  9. plt.plot(x,y)
  10. plt.show()

逻辑运算

  1. import numpy as np
  2. data1 = np.array(
  3. [[1, 2],
  4. [2, 5],
  5. [7, 8]]
  6. )
  7. # bool索引
  8. print(data1 > 3)
  9. print('-' * 100)
  10. # bool-与 数组中全部满足条件才为真,否则为假
  11. print(np.all(data1 > 3))
  12. print(np.all(data1 > 0))
  13. print('-' * 100)
  14. # bool-或 有一个满足条件则为真,否则为假
  15. print(np.any(data1 > 3))
  16. print('-' * 100)
  17. # where三目运算符
  18. print(np.where(data1 > 3, 1, 0))
  19. print(np.where(np.logical_and(data1 > 3, data1 < 8), 1, 0))
  20. print(np.where(np.logical_or(data1 < 3, data1 > 5), 1, 0))

统计计算

  1. import numpy as np
  2. data1 = np.array(
  3. [[1, 2],
  4. [2, 5],
  5. [7, 8]]
  6. )
  7. # 最大值
  8. a1 = np.max(data1,axis=1) # 每行最大值
  9. a2 = np.max(data1,axis=0) # 每列最大值
  10. a3 = np.max(data1) # 矩阵最大值
  11. print(a1,a2,a3)
  12. b1 = np.argmax(data1, axis=1) # 最大值位置
  13. print(b1)

矩阵乘法

  1. import numpy as np
  2. # 矩阵乘法运算
  3. # 形状
  4. # (m, n) * (n, l) = (m, l)
  5. # 运算规则
  6. # A (2, 3) B(3, 2)
  7. # A * B = (2, 2)
  8. data1 = np.array(
  9. [[1, 2],
  10. [2, 5],
  11. [7, 8]]
  12. )
  13. data2 = np.array(
  14. [[1, 2, 3],
  15. [4, 5, 6]]
  16. )
  17. print(np.matmul(data1, data2))
  18. print('-'*100)
  19. # 矩阵加法
  20. data3 = np.array(
  21. [[1, 2, 3],
  22. [4, 5, 6]]
  23. ) # (2,3)
  24. data4 = np.array(
  25. [ [1],
  26. [3] ]
  27. ) # (2,1)
  28. print(data3 + data4)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/346627
推荐阅读
  

闽ICP备14008679号