zoukankan      html  css  js  c++  java
  • pandas中的axis参数(看其他人的博客中产生的疑问点,用自己的话解析出来)

    axis有两个值:axis=0或者axis=1

    看到很多资料都不太理解,把我个人理解说一下:

    下面这张图,在很多资料中都看到了,我只能说先死记住 axis=0,代表跨行(注意看这张图的axis=0的箭头向下指),axis=1,代表跨列(注意看这张图的axis=1的箭头向右指,水平方向)

    二维数据拥有两个轴:

    0轴沿着行垂直往下走,1轴沿着列水平走

    也可以说:

    1.使用axis=0表示沿着行标签/索引值(index) 向下执行     #如果你学了pandas中的sreies就知道index了

    2.使用axis=1表示沿着列标签水平方向执行      #列名columns

    下面这两个问什么搞懂了,本篇文章的问题你基本上就懂了。

    axis=0,index,指的是遍历每个index,行号,在做sum()求和、mean()求平均值时,在纵向上遍历,是对每列数据做操作(看图片的箭头指向方向)。之前我在这也有疑问,最开始说axis=0是代表跨行的,这里为什么又说是对每列数据做操作。我的理解是每行取一个值,组成了一列,所以这里sum()就是获取一列数据的和。drop(index,axis=0),传入的参数是指定了某一行index,axios=0也是指跨行,所以说就去掉对应行号的所有值。

    axis=1,columns,指的是遍历每个columns,列名,在做sum()求和、mean()求平均值,在横向上遍历每行,对每行数据做操作,每列数据取一个值,就组成了一行数据。drop(columns,axis=1),传入的是列名,所以会去掉对应列名上所有值

    代码示例:

    生成DataFrame数据

     axis=0,获取一列的和

     axis=1,'two',删除列two数据

     如果你是这样写的会报错,在这个axis中没有找到列two

     

    总结:

    我觉得最重要的是先记着axis=0是代表跨行的,axis=1是代表跨列的,然后求和,求平均值,删除等操作在这个基础上可以思考出来。

  • 相关阅读:
    hdu 5036 概率+bitset
    hdu 5037 周期优化
    hdu 5038 求出现次数最多的grade
    hdu 5040 bfs
    hdu 5045 N个人做M道题的正确率
    hdu 5046 二分+DLX模板
    hdu 5047 大数找规律
    c:set注意事项
    It is indirectly referenced from required .class files(导入项目报错原因与解决方法)
    oracle-01722,函数subtr,instr
  • 原文地址:https://www.cnblogs.com/wangcuican/p/11984829.html
Copyright © 2011-2022 走看看