设为首页 加入收藏

TOP

数据分析之numpy使用(二)
2023-07-25 21:28:28 】 浏览:51
Tags:numpy 使用
py的索引和切片操作(重点)
  • 索引操作和列表同理

    >>> arr = np.random.randint(1,100,size=(5,6))
    >>> arr
    array([[49, 26,  2, 75, 91, 93],
           [68, 49, 40, 40, 51, 54],
           [39, 49, 16, 93, 45,  2],
           [13, 43, 67, 52,  2, 46],
           [74, 20,  9, 73, 91, 21]])
    >>> arr[1]
    array([68, 49, 40, 40, 51, 54])
    >>> arr[[1,3,4]]
    array([[68, 49, 40, 40, 51, 54],
           [13, 43, 67, 52,  2, 46],
           [74, 20,  9, 73, 91, 21]])
    
  • 切片操作

    • 切出前两行数据

      >>> arr[0:2]
      array([[49, 26,  2, 75, 91, 93],
             [68, 49, 40, 40, 51, 54]])
      
      
    • 切出前两列数据

      >>> arr[:,0:2]
      array([[49, 26],
             [68, 49],
             [39, 49],
             [13, 43],
             [74, 20]])
      
    • 切出前两行的前两列的数据

      >>> arr[0:2,0:2]
      array([[49, 26],
             [68, 49]])
      
    • 数组行翻转

      >>> arr[::-1]
      array([[74, 20,  9, 73, 91, 21],
             [13, 43, 67, 52,  2, 46],
             [39, 49, 16, 93, 45,  2],
             [68, 49, 40, 40, 51, 54],
             [49, 26,  2, 75, 91, 93]])
      
    • 数组列翻转

      >>> arr[::,::-1]
      array([[93, 91, 75,  2, 26, 49],
             [54, 51, 40, 40, 49, 68],
             [ 2, 45, 93, 16, 49, 39],
             [46,  2, 52, 67, 43, 13],
             [21, 91, 73,  9, 20, 74]])
      
    • 练习:将一张图片上下左右进行翻转操作

      import matplotlib.pyplot as plt
      img_arr = plt.imread('/Users/ivanlee/Desktop/女明星/IMG_1473.JPG')
      plt.imshow(img_arr) #将numpy数组进行可视化展示
      

      image-20221215155218979

      image-20221215155300994

    • 练习:将图片进行指定区域的裁剪

      image-20221215155423406

numpy变形

  • reshape操作

    image-20221215160112165

级联操作

- 将多个numpy数组进行横向或者纵向的拼接
  • axis轴向的理解

    • 0:列
    • 1:行

    image-20221215160732348

  • 问题:

    • 级联的两个数组维度一样,但是行列个数不一样会如何?

      答:不一样就无法拼接

  • 对图进行拼接

    arr_3 = np.concatenate((img_arr,img_arr,img_arr),axis=0)
    plt.imshow(arr_3)
    

    image-20221215161140845

    arr_3 = np.concatenate((img_arr,img_arr,img_arr),axis=1)
    plt.imshow(arr_3)
    

    image-20221215161211392

常用的聚合操作

  • sum,max,min,mean

    image-20221215161630871

常用的数学函数

  • NumPy 提供了标准的三角函数:sin()、cos()、tan()
  • numpy.around(a,decimals) 函数返回指定数字的四舍五入值。
    • 参数说明:
      • a: 数组
      • decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置

常用的统计函数

  • numpy.amin() 和 numpy.amax(),用于计算数组中的元素沿指定轴的最小、最大值。
  • numpy.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)。
  • numpy.median() 函数用于计算数组 a 中元素的中位数(中值)
  • 标准差std():标准差是一组数据平均值分散程度的一种度量。
    • 公式:std = sqrt(mean((x - x.mean())**2))
    • 如果数组是 [1,2,3,4],则其平均值为 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且其平均值的平方根除以 4,即 sqrt(5/4) ,结果为 1.1180339887498949。
  • 方差var():统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。换句话说,标准差是方差的平方根

image-20221215162950711

矩阵相关

  • NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象。一个 的矩阵是一个由行(row)列(column)元素排列成的矩形阵列。

  • numpy.matlib.identity() 函数返回给定大小的单位矩阵。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1,除此以外全都为 0。

eye返回一个标准的单位矩阵

np.eye(6)

image-20221215163306006

T 转置

image-20221215163349710

矩阵相乘

  • numpy.dot(a, b, out=None)
    • a : ndarray 数组
    • b : ndarray 数组

image-20221215163709817

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇数据分析之pandas的使用 下一篇使用python爬取微博评论

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目