`
kavy
  • 浏览: 890625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Python之NumPy(axis=0 与axis=1)区分

 
阅读更多

Python之NumPy(axis=0 与axis=1)区分

 

转自:http://blog.csdn.net/wangying19911991/article/details/73928172

           https://www.zhihu.com/question/58993137

 

python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:

>>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \
columns=["col1", "col2", "col3", "col4"])
>>>df
   col1  col2  col3  col4
    0     1     1     1     1
    1     2     2     2     2
    2     3     3     3     3

如果我们调用df.mean(axis=1),我们将得到按行计算的均值

>>> df.mean(axis=1)
0    1
1    2
2    3

然而,如果我们调用 df.drop((name, axis=1),我们实际上删掉了一列,而不是一行:

>>> df.drop("col4", axis=1)
   col1  col2  col3
0     1     1     1
1     2     2     2
2     3     3     3

Can someone help me understand what is meant by an "axis" in pandas/numpy/scipy?
有人能帮我理解一下,在pandas、numpy、scipy三都当中axis参数的真实含义吗?

投票最高的答案揭示了问题的本质:

其实问题理解axis有问题,df.mean其实是在每一行上取所有列的均值,而不是保留每一列的均值。也许简单的来记就是axis=0代表往跨行(down),而axis=1代表跨列(across),作为方法动作的副词(译者注)

换句话说:

  • 使用0值表示沿着每一列或行标签\索引值向下执行方法
  • 使用1值表示沿着每一行或者列标签模向执行对应的方法

下图代表在DataFrame当中axis为0和1时分别代表的含义:


 
axis参数作用方向图示

另外,记住,Pandas保持了Numpy对关键字axis的用法,用法在Numpy库的词汇表当中有过解释:

轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。

所以问题当中第一个列子 df.mean(axis=1)代表沿着列水平方向计算均值,而第二个列子df.drop(name, axis=1) 代表将name对应的列标签(们)沿着水平的方向依次删掉。

分享到:
评论

相关推荐

    Python之NumPy(axis=0 与axis=1)区分详解

    ### Python之NumPy(axis=0 与axis=1)区分详解 #### 一、NumPy中的Axis概念 在NumPy库中,`axis`参数是一个非常重要的概念,它用于指定数组操作的方向。对于多维数组而言,理解`axis`的概念至关重要,尤其是在进行...

    numpy库与pandas库axis=0,axis= 1轴的用法详解

    ### numpy库与pandas库中的Axis参数详解 在数据分析领域,`numpy`和`pandas`是两个极其重要的Python库。这两个库提供了大量的工具来处理数值数据和结构化数据。其中一个核心概念是“axis”,它定义了数据操作的方向...

    python中axis=0和axis=1的问题记录

    之前一直搞不清axis = 0 和 axis = 1 之间的区别,一会是按行求和,一会是按列遍历,那到底axis是咋操作的呢?查找了些资料,发现了一种很好的解释就是: 0轴垂直往下,1轴向右水平延伸。 啥意思?? 尝试一下好了 ...

    axis=-1,0,1的含义

    axis=-1,0,1的含义 axis的本意是轴的意思。 在python中,axis代表的是多维数组中数据操作的方向。 举例说明,在pycharm环境创建一个三维数组: import numpy as np import tensorflow as tf b = np.arange(27)....

    pythonnumpy教程-PythonNumpy库常见用法入门教程.pdf

    它与Python的列表不同,ndarray的元素类型是固定的,而且在创建时就决定了大小,这使得在执行运算时具有更高的效率。 在Numpy中,数组的维度被称为轴(axis),轴的长度表示每个维度上的元素数量。例如,一个2×3的二...

    python numpy实现rolling滚动案例

    ### Python NumPy 实现 Rolling 滚动案例详解 #### 一、背景介绍 在数据分析领域,特别是处理时间序列数据时,经常会遇到需要基于固定长度的窗口进行滚动计算的需求,例如计算移动平均值(Moving Average)。尽管 ...

    python+numpy按行求一个二维数组的最大值方法

    index_max = np.argmax(x, axis=1)# 其中,axis=1表示按行计算 print(index_max.shape) max = x[range(x.shape[0]), index_max] print(max) # 注意到这里返回的是行向量 # 这可以是一种通用的方法, # 其中range()...

    numpy.docx

    - **简介**:NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy是Python进行科学计算的基础库。 - **安装**:可通过pip或...

    Numpy_Python_Cheat_Sheet=NumPy Basics

    NumPy是Python中科学计算的核心库,它提供了高性能的多维数组对象以及与这些数组相关的工具。对于数据科学家、研究人员及工程师来说,掌握NumPy的基本操作至关重要。通过NumPy,用户可以高效地处理大量数值数据,...

    从零开始学Python AI开发系列56-数据统计分析篇-NumPy练习和答案1

    此外,Numpy还支持广播规则,允许不同形状的数组进行运算,以及轴向操作,如`np.sum(arr, axis=0)`对列求和,`np.sum(arr, axis=1)`对行求和。 希望这些例子和解释有助于你理解和应用NumPy进行数据统计分析。在实践...

    使用Python 库 NumPy、Pandas 和 seaborn来分析泰坦尼克数据集.zip

    在数据分析领域,Python库NumPy、Pandas和seaborn是不可或缺的工具。NumPy提供了强大的数值计算功能,Pandas则用于数据处理和管理,而seaborn则是基于matplotlib的数据可视化库,它提供了丰富的统计图形选项。在这个...

    Python中numpy的基础用法1

    在Python编程环境中,Numpy库是进行数值计算和科学计算的核心工具。Numpy引入了“数组”这一概念,这是因为在很多科学计算场景下,数组运算的效率和灵活性比普通的Python列表更为重要。数组对象(ndarray)允许我们...

    python numpy 的一些基本操作和结果展示.zip

    Python的NumPy库是科学计算的核心库,它提供了强大的N维数组对象以及各种与之相关的工具。本资料主要探讨了Python NumPy的一些基础操作和结果展示。虽然标签中提到了"C#",但在这个主题下,我们将专注于Python的...

    Python数据科学速查表 - Numpy 基础.pdf

    NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy可以看作是Python的数据处理基础,它使得Python成为一种强大的科学计算语言...

    python NumPy ndarray二维数组 按照行列求平均实例

    `axis=0`表示沿列方向计算,而`axis=1`表示沿行方向计算。 1. 按照行求平均值(`axis=1`): 当我们设置`axis=1`时,`mean()`函数会计算每一行的平均值,并返回一个新的数组,其中每个元素是对应原数组一行的平均值...

    python求numpy中array按列非零元素的平均值案例

    这里,`(df == 0)`创建了一个与df形状相同的布尔DataFrame,`astype(int)`将其转换为整数类型,True变成1,False变成0,然后使用`sum(axis=1)`沿行方向求和,得到一个Series,表示每行的零值数量。 总的来说,理解...

    对python中array.sum(axis=?)的用法介绍

    例如,在统计学中,我们可以使用`axis=1`对每个样本的特征进行求和,或者在机器学习中,`axis=0`可以用来计算特征的平均值或总和。 总之,`numpy.array.sum(axis=?)`是NumPy中强大的工具,它能够根据需要在不同维度...

    对python-numpy库的详细分析介绍

    `axis`参数在numpy中扮演着关键角色,例如在排序操作中,`axis=1`表示按照行进行排序,而`axis=0`则按列排序。这允许我们灵活地处理二维数组和矩阵。 `str.format()`方法用于格式化输出,如示例所示,它能帮助我们...

    Python科学计算库-Numpy

    4. **索引与切片**:Numpy数组的索引与Python列表类似,但支持多维切片。 示例: ```python arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr[0, 1]) # 输出:2 print(arr[1:]) # 输出:[[4, 5, 6]] ``` **...

Global site tag (gtag.js) - Google Analytics