专栏首页微服务架构日记关于 Numpy和Pandas axis的理解

关于 Numpy和Pandas axis的理解

先知

  • 维度

在理解axis之前,我们应该理解维度的含义:通常的理解是:“点是0维、直线是1维、平面是2维、体是3维”。在机器学习中我们常常处理几十维的数据,对于机器学习常用的Numpy库,当我们赋予二维数组每一行一个值的时候,那么此时二维数组的列数就是多维空间的维度。每一行给的值通常是我们的样本值,它也是损失函数准确度的一个依据。

# 构造数组,该行列式给予样本值将变为4维空间
two = np.arange(9).reshape(3,3)
two
-------------
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
# 查看维度
two.ndim
-------------
2
  • axis

那么问题了,我们应该怎么理解Numpy和Pandas(axis概念全部继承于Numpy),当一个数组上升到二维我们需要考虑是对行操作还是对列操作,那么如果上升为3维数组呢,没错,还会多出来一个axis:2。 到这里你应该明白,axis其实就是对数组层数的操作,ndim是几,那么对应的axis就有几个,下面看一张图,或许你就会明白。

操作

  • 通俗理解(二维数组)

当axis=0的时候,即对第一层进行操作,此时Numpy只对第一层内的数组进行操作,即axis执行方向从上到下; 当axis=1的时候,即对第二层进行操作,此时Numpy只对第二层内的数组进行操作,即axis执行方向从左到右。

  • 再次理解

看下面的图,这里的理解是,当axis=0的时候,从上到下以列为整体;当axis=1的时候,从左往右以行为整体。

特殊

  • Dataframe

下面我们再次对其理解,看下图的红线部分axis=1,此时我们可以理解为当axis=1的时候是把列作为整体进行操作的,而当 axis=0也就是红线部分,我们把其看作是以行为整体操作的,numpy默认为行,因为这样保证数据的原始性。

  • drop

这个可以认为是特殊的,但记住一点当axis=0的时候是从上往下的,dorp指出了要删除iloc为1的行,那么此时便会从上往下进行删除,即以列为单位删除整行; 同理axis=1,从左往右推荐,当column='C'的满足条件,整列删除。

总结

说了这么多,你要记住的就是,axis=0的时候一定是从上往下的;axis=1的时候肯定是从左往右。

参考文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • numpy和pandas中的axis

    在numpy和pandas中经常出现axis轴这个概念,下面就详细的看看这个轴到底是什么意思 使用0值表示沿着每一列或行标签\索引值向下执行方法 使用1...

    听城
  • 关于numpy mean函数的axis参数

    理解多维矩阵的"求和"、"平均"操作确实太恶心了,numpy提供的函数里还有一堆参数,搞得晕头转向的,这里做个笔记,提醒一下自己, 下面是例程 import n...

    用户1332428
  • Python3快速入门(十五)——Pan

    如果要将自定义函数或其它库函数应用于Pandas对象,有三种使用方式。pipe()将函数用于表格,apply()将函数用于行或列,applymap()将函数用于...

    py3study
  • 1. Pandas系列 - 基本数据结构

    从这一篇文章开始,想要跟大家一起探讨关于数据科学最重要的工具了,就是Python提供了 Numpy 和 Pandas,咱们先从Pandas开始,走上数据分析高手...

    Python编程爱好者
  • 如何成为Python的数据操作库Pandas的专家?

    Pandas库是Python中最流行的数据操作库。受到R语言的frames启发,它提供了一种通过其data-frame API操作数据的简单方法。下面我们给大家...

    HuangWeiAI
  • 玩转Pandas,让数据处理更easy系列2

    上一篇总结了Pandas中最重要的两个数据结构:Series和DataFrame,前者相当于更加强大的一维数组,是数组和字典的组合,因为既可以按照位置,也能通过...

    double
  • 用 Pandas 进行数据处理系列 二

    获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['a_name','bname']] ,里面需要是一个 list 不然会报错增...

    zucchiniy
  • Pandas入门2

    对于DataFrame,对齐会同时发生在行和列上,两个DataFrame对象相加后,其索引和列会取并集,缺省值用NaN。

    潇洒坤
  • 机器学习测试笔记(2)——Pandas

    Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Py...

    小老鼠

扫码关注云+社区

领取腾讯云代金券