Python axis参数的使用是怎样,如何掌握

Admin 2022-05-27 群英技术资讯 311 次浏览

这篇文章给大家分享的是Python axis参数的使用是怎样,如何掌握。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。


目录
  • 一、axis简介
  • 二、不一样的axis
    • 对于axis=0
  • 三、总结
    • 补充:python中某些函数axis参数的理解

      在我们使用Python中的Numpy和Pandas进行数据分析的时候,经常会遇到一个让人感到头痛的参数——axis,本文让我们换一个角度来重新认识一下axis。

      一、axis简介

      通常情况下我们都会赋予axis参数“轴”的概念,对于常见的二维数据来说,我们有如下的表示形式:


      对于这种常见的结构来说,看上去很清晰,但是涉及到实际操作的时候就会变的难以理解,下面让我们用色横货中的例子来学习一下。

      二、不一样的axis

      对于axis=0

      当axis=0的时候,我们可以将数据和轴组成的整体看作是一串竖着摆放的糖葫芦(棍垂直于水平面)示例如下图所示:


      此时图中的[1,2,3]、[4,5,6]可以分别看作是糖葫芦的两个果子,而红色的轴则表示穿着果子的棍(axis=0),对于此时的状态,每个果子是一个整体,当进行sum()加和操作时,我们需要将两个果子对应位置的数据进行相加而不是将每个果子进行加和,最终可以得到结果[5,7,9]

      import numpy as np
      a = np.array([[1, 2, 3], [4, 5, 6]])
      np.sum(a, axis=0)
      
      # 结果
      # array([5, 7, 9])
      

      当进行元素添加操作的时候,我们所做的事情就是在原有的糖葫芦基础上添加一个果子,果子的结构也要像前两个果子的结构一样,示例图如下所示:

      此时操作的示例代码如下所示:

      import numpy as np
      a = np.array([[1, 2, 3], [4, 5, 6]])
      np.append(a, [[7, 8, 9]], axis=0)
      
      # 结果
      # array([[1, 2, 3],
      #        [4, 5, 6],
      #        [7, 8, 9]])
      

      对于带有参数axis=0删除等操作也同添加的思想一样,只要我们将其想象成在操作糖葫芦的果子即可。

      三、总结

      当axis=1的时候不难想到,我们要做的操作就是在一根水平摆放的糖葫芦上进行,所有操作的基本原理都和axis=0时相同。

      补充:python中某些函数axis参数的理解

      总结为一句话:设axis=i,则numpy沿着第i个下标变化的方向进行操作。

      当然,这个i是从0开始数的,作为程序员的你一定不会搞错。

      axis意为“轴”,它指定了函数在张量(矩阵、等等)上进行操作的方向。
      例如有一个ndarray,名叫A,A.shape=(3,8,5,7)。
      那么np.sum(A, axis=2)计算的结果的shape就是(3,8,7)。
      假设这个shape是(3,8,7)的ndarray变量名为B,那么实际上:

      B[i][j][k]=A[i][j][0][k]+A[i][j][1][k]+A[i][j][2][k]+A[i][j][3][k]+A[i][j][4][k]

      以下代码你可以自己跑一下试试:

      import numpy as np
      
      A=np.random.randn(3,8,5,7)
      print("A.shape=",A.shape)
      
      B=np.sum(A,axis=2)
      print("B.shape=",B.shape)
      
      

      预期输出为:

      A.shape= (3, 8, 5, 7)
      B.shape= (3, 8, 7)


      这篇关于“Python axis参数的使用是怎样,如何掌握”的文章就介绍到这了,更多相关的内容,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案
      标签: axis参数

      免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

      猜你喜欢

      成为群英会员,开启智能安全云计算之旅

      立即注册
      专业资深工程师驻守
      7X24小时快速响应
      一站式无忧技术支持
      免费备案服务
      免费拨打  400-678-4567
      免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
      在线客服
      微信公众号
      返回顶部
      返回顶部 返回顶部
      在线客服
      在线客服