美文网首页我爱编程
如何理解pandas中axis参数

如何理解pandas中axis参数

作者: 行走的程序猿 | 来源:发表于2018-04-20 11:27 被阅读214次

背景

在pandas中DataFrame乘法运算时遇到了坑,df.mul(series, axis=0),原意是想让series与df的每行数据相乘,所以令axis为0(或index),但报错,把axis改为1(或columns)正确,直接使用df * series也能正确计算。通过查找资料,发现axis参数的真实含义,现将个人理解写下。

问题:

  • 为什么
    df.drop(index, axis=0),是去掉某一行数据;
    df.drop(col_name, axis=1),是去掉某一列的数据?
  • 为什么
    df.sum(axis=0),是求每的数据之和;
    df.sum(axis=1),是求每的数据之和?

答疑:

示意图

从这张图可以看出,

  • axis=0、axis=index,指的是遍历每个index、行号,即在纵向上遍历每列,所以做sum()、mean()等运算时,是对每列数据做操作,而drop(index, axis=0),传入的参数指定了某一行号,所以会在纵向上遍历每列,去掉行号对应位置的数据

  • axis=1、axis=columns,指的是遍历每个columns、列名,即在横向上遍历每行,所以做sum()、mean()等运算时,是对每行数据做操作,而drop(col, axis=1),传入的参数指定了某一列名,所以会在横向上遍历每行,去掉列名对应位置的数据

补充

pandas和numpy对于axis参数的使用是一致的,从numpy官方术语表对于axis的释义可知一二。
Axes are defined for arrays with more than one dimension. A 2-dimensional array has two corresponding axes: the first running vertically downwards across rows (axis 0), and the second running horizontally across columns (axis 1).

参考

  1. Ambiguity in Pandas Dataframe / Numpy Array “axis” definition

相关文章

  • 如何理解pandas中axis参数

    背景 在pandas中DataFrame乘法运算时遇到了坑,df.mul(series, axis=0),原意是想...

  • 11 Pandas的axis参数怎么理解

    11 Pandas的axis参数怎么理解? axis=0或者"index":如果是单行操作,就指的是某一行如果是聚...

  • pandas中axis参数含义

    前端 在pandas中axis的默认值是0, axis=0表示沿着行方向指向执行(pandas中的index),a...

  • Pandas常见困惑问题汇总

    asix参数含义 原文请见:Python Pandas与Numpy中axis参数的二义性从例子入手: df.mea...

  • pandas库

    import pandas as pd import numpy as np #pandas中axis=0表示in...

  • 【转】Python Pandas与Numpy中axis参数的理解

    Stackoverflow.com是程序员的好去处,本公众号将以pandas为主题,开始一个系列,争取做到每周一篇...

  • pandas的axis理解

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

  • [Py010] 理解axis

    pandas很多函数里面都有axis参数,大部分默认为axis=0 经常被搞得晕头转向…… 瞅了一个小时,大概理清...

  • numpy的axis

    这是别人的理解 原文Numpy中有许多函数都带有一个参数:axis(对应于pytorch中的dim参数),用来指定...

  • 理解Pandas与Numpy中axis参数的二义性

    axis = 0,axis = 1这个问题,困扰我很久了,今天查了一些博文,恍然大悟。Pandas模块和Numpy...

网友评论

    本文标题:如何理解pandas中axis参数

    本文链接:https://www.haomeiwen.com/subject/uxeakftx.html