zoukankan      html  css  js  c++  java
  • 点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3

    身为一个啰嗦的博主,还是要说点啥,如果你不想学,直接拖拽到最后,发现彩蛋,然后3秒

    我呢,有个小目标,就是把技术类的文章,写的有趣

    编程呢,最难的是什么?

    我投票给入门

    在这里插入图片描述

    其实,把一个人带进编程的大门是最难的

    而梦想橡皮擦这位大佬,就在做这个事情
    (说白了,就是高深的文章写不出来,还要装做大佬,心好累,好不容易找到这么一个借口,真开心)

    在这里插入图片描述

    我要通过一个系列的pandas文章

    让你学会这一个简简单单的模块

    然后还能顺便写点好玩的东东

    美哉~

    每篇文章,让你阅读起来如丝般顺滑
    在这里插入图片描述

    继续pandas,series函数的学习

    上篇博客,咱们就稍微了解了一丢丢series的函数

    远远不够的
    这篇呢,我们继续

    心里默念

    pandas是处理数据的,是处理数的,数字的

    OK,GET到这个就好多了

    后面我就好编了

    在这里插入图片描述

    import pandas as pd
    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    print(s)
    

    我创建了一个基本的Series,然后要对它进行处理了

    对一个线性的数据来说

    我们可以干很多事情

    比如,我要获取最大最小值

    在这里插入图片描述

    import pandas as pd
    
    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    
    print(s.min())
    print(s.max())
    

    这个写法还是太简单了,显示不出来我们学到东西了

    咱弄点新鲜的(其实就是官网比较复杂的例子)

    先给series创建一个带有层次的索引

    带有层次的索引,啥意思?

    在这里插入图片描述

    其实就是excel里面的合并单元格
    看代码

    idx = pd.MultiIndex.from_arrays([
        ['warm', 'warm', 'cold', 'cold'],
        ['dog', 'falcon', 'fish', 'spider']]
        ,names=['blooded', 'animal'])
    
    s = pd.Series([4, 2, 0, 8], name='legs', index=idx)
    print(s)
    
    

    一个关于冷血动物和温血动物关于有多少足的表格

    唉,好长一段文字,输出长这个样子

    在这里插入图片描述
    看不明白,没关系,放到excel里面瞅瞅

    在这里插入图片描述
    咋么样,小版一排,清晰明了

    在这里插入图片描述

    就一个表格
    当前前面依旧是index
    真正的数据就后面那一列

    然后,操作一番

    
    idx = pd.MultiIndex.from_arrays([
        ['warm', 'warm','warm',  'cold', 'cold'],
        ['dog', 'falcon','people', 'fish', 'spider']]
        ,names=['blooded', 'animal'])
    
    s = pd.Series([4, 2,2, 0, 8], name='legs', index=idx)
    print(s)
    print(s.min())
    print(s.max(level='blooded'))
    

    后面的level就是控制多索引的哦~

    看到结果,你可以秒懂吗?
    在这里插入图片描述

    s = pd.Series([4, 2,2, 0, 8], name='legs', index=idx)
    print(s)
    print(s.min())  # 输出0
    print(s.max(level='blooded')) # 输出 下面的表格
    

    没错,我是下面的表格
    在这里插入图片描述

    学会了吧,这个学会了,min,max,sum,idxmin,idxmax你应该都会了

    什么idx是啥?看看上面的代码
    那个是索引... ...

    还要啰嗦一个属性

    对于series来说,还有一个属性非常,非常重要,重要到使用之后,没啥效果?

    这个属性就是T
    没错,一个大写的字母T

    哈哈哈,其实这个属性对于series来说,基本没啥用

    在这里插入图片描述

    使用之后还是等于自己本身

    s = pd.Series([3,1,4],index=['a','b','c'])
    print(s)
    print(s.T)
    
    

    继续看函数

    好像跑偏了,怎么看到属性去了

    继续看函数啊

    一个线性杂乱的数据,对于我们来说
    还可以排序啊

    import pandas as pd
    
    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    

    既然排序了,你一猜,就能猜到(其实一般人根本猜不到,也就老师觉得你能猜到)

    在这里插入图片描述

    一个是按照值排序,一个是按照索引排序

    import pandas as pd
    
    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    
    print(s.sort_values())
    print(s.sort_index())
    

    排序的一些参数,可以屡屡

    Series.sort_values(axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
    
    • axis 按照哪个参考轴排序. 对于 Series来说,只能设置为0
    • ascending 倒序还是正序 True升序
    • inplace 默认false,修改为true,原地修改?咦,不明白吧,一会我给你举个栗子
    • kind 排序方法 快速排序,归并排序,堆排序
    • na_position 空值,在前还是在后,这个,你试一下就知道了

    inplace

    看一下下面的代码,原地替换

    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    sorted_s = s.sort_values(inplace=True)
    print(sorted_s)
    

    这时候打印出来的是None,但是你打印s,就能出现排序之后的文字

    明白了没?
    就是把s变量直接给排序了

    排序搞定之后,就要尝试获取series中的部分内容

    获取头部几条

    头部头部head

    获取末尾几条

    tail,tail

    import pandas as pd
    
    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    
    print(s.head(2))
    print(s.tail(2))
    

    获取部分数据可以,那么肯定也可以删除数据喽
    (我顺口说的)

    Series.drop

    import pandas as pd
    
    s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
    
    print(s.drop(labels=[0,1]))
    

    对于series来说,labels参数是必备的

    为什么呢?因为其它的压根不支持

    在这里插入图片描述
    新版本的可以用index替换labels

    好了,又学到新知识点了吧

    不多不少,几个正好

    每日学一点吧,啊

    明天写点啥,可能是DataFrame吧

    在这里插入图片描述

    最后,欢迎关注一个唠叨的编程工程师的公号,非本科程序员

    掏出你的手机,拍这个

    在这里插入图片描述

  • 相关阅读:
    WPF简单的分页控件实现
    WPF常用样式总结
    树:重建二叉树
    从尾到头打印链表
    字符串替换空格
    二维数组中的查找
    C#中转换运算符explicit、implicit、operator、volatile研究
    泛型实现常用算法
    .NET架构师知识普及
    .NET中扩展方法和Enumerable(System.Linq)
  • 原文地址:https://www.cnblogs.com/happymeng/p/10947483.html
Copyright © 2011-2022 走看看