• Pandas入门 (二)


    一、Pandas中的表连接Merge语法

    1.merge的语法

    pd.mergel(eft, right, how="inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x','_y'), copy=True, indicator=False, valldate=None)
    

    left, right: 要merge的dataframe或者有name的Series
    how: join类型, left', 'right, 'outer', 'inner'
    on: join的key, left和right都需要有这个key
    left_on: left的df或者series的key
    right_on: right的df或者seires的key
    left_index, right_index: 使用index而不是普通的column做join
    sufixes:两个元素的后缀,如果列有重名,自动添加后缀,默认是('_X','_Y')

    数据


    表连接

    merge时数量的对齐关系

    one-to-one:一对一关系,关联的key都是唯一的

    比如(学号,姓名) merge (学号,年龄)
    结果条数为:1*1

    one-to-many:一对多关系,左边唯一key,右边不唯一key

    比如(学号,姓名) merge (学号,[语文成绩、数学成绩、英语成绩])
    结果条数为:1*N

    many-to-many:多对多关系,左边右边都不是唯一的

    比如(学号,[语文成绩、数学成绩、英语成绩]) merge (学号,[篮球、足球、乒乓球])
    结果条数为:M*N

    非Key字段重名时

    二、Pandas数据合并 concat

    使用场景:

    批量合并相同格式的Excel、给DataFrame添加行、给DataFrame添加列

    一句话说明concat语法:

    使用某种合并方式(inner/outer)
    沿着某个轴向(axis=0/1)
    把多个Pandas对象(DataFrame/Series)合并成一个。

    concat语法:pandas.concat(objs, axis=0, join='outer', ignore_index=False)

    objs:一个列表,内容可以是DataFrame或者Series,可以混合
    axis:默认是0代表按行合并,如果等于1代表按列合并
    join:合并的时候索引的对齐方式,默认是outer join,也可以是inner join
    ignore_index:是否忽略掉原来的数据索引

    append语法:DataFrame.append(other, ignore_index=False)

    append只有按行合并,没有按列合并,相当于concat按行的简写形式

    other:单个dataframe、series、dict,或者列表
    ignore_index:是否忽略掉原来的数据索引






    三、Pandas批量拆分Excel并合并Excel

    1.读取数据源Excel到Pandas

    2.将一个大Excel等份拆成多个Excel

    使用df.iloc方法,将一个大的dataframe,拆分成多个小dataframe

    将使用dataframe.to_excel保存每个小Excel

    3.合并多个小Excel到一个大Excel


    四、Pandas实现分组统计

    1.制作数据源

    2.分组使用聚合函数做数据统计




    3.遍历groupby的结果




    4.分组探索天气数据




    五、Pandas的分层索引MultiIndex

    ●分层索引:在一个轴向上拥有多个索引层级,可以表达更高维度数据的形式;
    ●可以更方便的进行数据筛选,如果有序则性能更好;
    ●groupby等操作的结果,如果是多KEY,结果是分层索引,需要会使用
    ●一般不需要自己创建分层索引(MultiIndex有构造函数但一般不用)

    1.导入数据

    2.Series的分层索引MultiIndex



    3.MultiIndex筛选有多层索引的数据

    4.DataFrame的多层索引MultiIndex


    5.MultiIndex筛选多层索引数据

    【重要知识】在选择数据时
    ●元组(key1,key2)代表筛选多层索引,其中key1是索引第一级,key2是第二级,比如key1=JD, key2=2019-10-02
    ●列表[key1,key2]代表同一层的多个KEY,其中key1和key2是并列的同级索引,比如key1=JD, key2=BIDU


  • 相关阅读:
    flutter android 开发笔记(三.flutter和android数据交互)
    flutter android 开发笔记(二.module集成,混合页面)
    flutter android 开发笔记(一.集成)
    svn主干开辟分支、分支合并到主干
    svn主干开辟分支、分支合并到主干
    打包aar时把依赖的jar打包进aar中
    as修改已有项目的svn地址
    Flutter踩坑日记(一)
    android中两个不同名称的app不能同时安装
    aar、jar、so的引入和aar打包包含so、aar、jar文件
  • 原文地址:https://www.cnblogs.com/nnadd/p/13816180.html
Copyright © 2020-2023  润新知