开发者

pandas中DataFrame的merge操作的实现

目录
  • 前言
  • 一、merge操作是什么?
  • 二、代码实验
    • 1.新建DataFrame
    • 2.merge操作
  • 总结

    前言

    本文主要记录我在阅读《python金融大数据分析》一书时,原本对书中DataFrame的merge操作有点疑惑,后来通过实验发现书上代码在现有环境下已经报错的事实。因此,进行整理记录。

    一、merge操作是什么?

    merge是对pandas的DataFrame对象进行合并的操作。其具体参数如下:

    pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
    			 left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'),
    			 copy=None, indicator=False, validate=None)
    

    二、代码实验

    1.新建DataFrame

    代码如下:

    import pandas as pd
    df1 = pd.DataFrame(['100','200','300','400'],index=['a','b','c','d'],columns=['A',])
    df2 = pd.DataFrame(['200',http://www.devze.com'150','50'],index=['f','b','d'],columns=['B',])
    c = pd.Series([250,150,50],index=['b','d',javascript'c编程客栈'])
    df1['C'] = c
    df2['C'] = c
    

    DataFrame输出如下:

    pandas中DataFrame的merge操作的实现

    pandas中DataFrame的merge操作的实现

    2.merge操作

    例1:默认情况下,以C作为合并列

    pd.merge(df1,df2)
    

    pandas中DataFrame的merge操作的实现

    例2:显性设置合并列为C

    pd.merge(df1,df2,on='C')
    

    pandas中DataFrame的merge操作的实现

    例3:设置外连接,可以理解为并集,默认还是以C为合并列

    pd.merge(df1,df2,how='outer')
    

    pandas中DataFrame的merge操作的实现

    例4:左DataFrame以A列为合并列,右DataFrame以B列为合并列

    pd.merge(df1,df2,left_on='A',right_on='B')
    

    pandas中DataFrame的merge操作的实现

    例5:左DaphptaFrame以A列为合并列,右DataFrame以B列为合并列,并集

    pd.merge(df1,df2,left_on='A',right_on='B',how='outer')
    

    pandas中DataFrame的merge操作的实现

    例6:左DataFrame以索引为合并列,右DataFrame以索引为合并列

    pd.merge(df1,df2,left_index=True,right_index=True)
    

    pandas中DataFrame的merge操作的实现

    例7:企图以C为合并列,同时左DataFrame以索引为合并列

    pd.merge(df1,df2,left_index=True,on='C')
    

    pandas中DataFrame的merge操作的实现

    系统会抛出合并异常,说合并列和索引不能同时设置,MergeError: Can only pass argument “on” OR “left_index” and “right_index”, not a combination of both.

    总结

    以上就是要记录/勘误的内容,本文仅仅简单介绍了pandas中DataFrame的merge使js用。书中可能还存在许许多多的错误,仍有待我们去发掘。每一次小小的发现都是大大的收获。

    到此这篇关于pandas中DataFrame的merge操作的实现的文章就介绍到这了,更多相关DataFrame merge操作内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜