zoukankan      html  css  js  c++  java
  • 对不起,给pandas配表情包太难了,pandas你该这么学,No.6

    如果图片无法观看,请移步 https://blog.csdn.net/hihell

    标题起的长,才能引起你的注意呢

    昨天,有个家伙,留言给我说
    嫌我不好好写博客

    就知道给文章配表情包

    在这里,郑重的回复一下

    我愿意(╬◣д◢)
    在这里插入图片描述

    上篇博客,我们捣鼓了属性和简单的几个函数

    这篇博客,我们继续围绕着dataframe转圈圈吧

    首先从计算函数说起

    咱先声明一个dataframe,方便后续操作

    import pandas as pd
    
    df_dict = {
        "boys":[10,20,30],
        "girls":[20,40,60]
    }
    
    df = pd.DataFrame(df_dict)
    print(df)
    

    对于一个高手来说,从上帝视角对数据有一个基本的把握是最重要的

    那么我们需要一个函数

    describe

    你只需要使用一下,就能得到很多的信息哦~

    来,看一下结果

           boys  girls
    count   3.0    3.0
    mean   20.0   40.0
    std    10.0   20.0
    min    10.0   20.0
    25%    15.0   30.0
    50%    20.0   40.0
    75%    25.0   50.0
    max    30.0   60.0
    

    这不要啥有啥么

    只要你英文没啥大问题,认识count,mean,std,min,max

    恭喜你,上面的数据
    你都能看懂

    这上帝视角

    数据一览无余
    在这里插入图片描述

    接下来,你就可以分开显示了

    pandas神奇的地方即将出现

    当你学会一个函数
    同步你会学会好几个

    我拿count举个栗子啊
    为什么,拿着个举例子

    还不是因为它最简单!

    先看代码,在讲解

    import pandas as pd
    df_dict = {
        "boys":[10,20,30],
        "girls":[20,40,60]
    }
    df = pd.DataFrame(df_dict)
    print(df.count(axis=0))
    

    输出的结果,请注意

    boys     3
    girls    3
    dtype: int64
    

    是个series没错了

    那么,重点来了,我这个伪大佬要开课了

    df.count()函数,统计cells个数,
    额,还是大白话吧

    就是统计行或者列的小格子个数

    在这里插入图片描述

    嗯,这么说,容易懂

    它有个参数,非常,非常,非常重要

    以后会经常碰到

    这个参数,就是axis,翻译成中文,叫做轴

    没错,就是坐标轴的那个轴

    默认值呢是0

    0等于index
    1等于columns

    难度来了,这个地方不好记(因为,我总是搞错 Σ(っ°Д°;)っ)

    在这里插入图片描述

    在尝试大白话解释一下df.count(axis=0)的意思

    统计每一列单元格(小格子)数量

    咦?不太对啊

    刚刚不是还说0等于index么?

    df.count(axis=0),不应该统计行么?咋还统计成列了呢?

    解释最后一次了哦

    axis=0 这个参数表示为每列生成计数
    在这里插入图片描述
    上面的红框,叫做每列

    所以,列名有几个,统计出来的结果就有几个

    这个很容易晕哦~

    我觉得你应该晕了

    哎~慢慢绕吧
    在这里插入图片描述

    同理axis=1就表示为每行生成计数

    刚刚的数据有三行,那对应的肯定生成三行喽

    小提示

    axis='index' 等于  axis = 0
    axis = 'columns' 等于 axis = 1
    

    为什么要在这个地方叨叨这么多呢

    还不是因为下面这个图

    在这里插入图片描述
    看完这个图,之后

    我相信,你应该对axis这个函数瞬间感兴趣了

    在这里插入图片描述

    这完全搞不定,没法用的节奏啊

    难不成,每次都跟我一样

    先猜0,不对,在换成1

    哈哈哈哈哈哈哈哈哈
    (好像暴露了,我菜的本质了呢)

    在这里插入图片描述

    df.count()学习完毕之后,来个df.min(),df.max(),df.mean()吧

    哈哈,这三个函数咱看一下,其实非常简单的

    import pandas as pd
    df_dict = {
        "boys":[10,20,30],
        "girls":[20,40,60]
    }
    df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
    print(df.mean(axis=1))
    
    • df.min() 最小值
    • df.max() 最大值
    • df.mean() 平均值

    上面是获取值

    记住,有值就有索引

    然后再展示一段代码

    需求,我们要获取每列中最小值的索引

    import pandas as pd
    
    df_dict = {
        "boys":[10,20,30],
        "girls":[20,40,60]
    }
    
    df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
    print(df.mean(axis=1))
    print(df.idxmin())
    
    
    • df.idxmin() 按照列获取
    • df.idxmin(axis=1) 按照行获取

    电脑面前的你,赶紧的吧,

    你一试就知道结果了

    还等什么?

    其他的,像方差,求和,标准差,都去试试吧

    你可以滴!
    在这里插入图片描述

    T来了

    在学习series的时候,我们用了一个s.T
    神奇的是啥效果也没有

    今天用dataframe在来试一下

    import pandas as pd
    
    df_dict = {
        "boys":[10,20,30],
        "girls":[20,40,60]
    }
    
    df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
    
    print(df)
    print("x"*50)
    
    print(df.T)
    

    在这里插入图片描述

    看到没?
    出现效果了

    行索引,变成列索引
    列索引,变成行索引

    厉害,厉害

    其实这个就是转置

    线性代数上线啦

    下课!

    在这里插入图片描述

    话不多说,结束,开始展示公众号

    在这里插入图片描述
    还等什么,关注吧~

  • 相关阅读:
    Nginx缓存[proxy cache、memcache]
    Nginx重写规则
    同步异步,阻塞非阻塞 和nginx的IO模型
    cookie & session
    HTTP状态码
    web简单的整体测试
    关于 如何用电脑的adb连接Mumu模拟器
    关于社保断交一个月的影响
    关于androidStudio的下载
    可以直接拿来用的android开源项目研究
  • 原文地址:https://www.cnblogs.com/happymeng/p/11001613.html
Copyright © 2011-2022 走看看