前言
本文主要记录我在阅读《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','150','50'],index=['f','b','d'],columns=['b',]) c = pd.series([250,150,50],index=['b','d','c']) df1['c'] = c df2['c'] = c
dataframe输出如下:
2.merge操作
例1:默认情况下,以c作为合并列
pd.merge(df1,df2)
例2:显性设置合并列为c
pd.merge(df1,df2,on='c')
例3:设置外连接,可以理解为并集,默认还是以c为合并列
pd.merge(df1,df2,how='outer')
例4:左dataframe以a列为合并列,右dataframe以b列为合并列
pd.merge(df1,df2,left_on='a',right_on='b')
例5:左dataframe以a列为合并列,右dataframe以b列为合并列,并集
pd.merge(df1,df2,left_on='a',right_on='b',how='outer')
例6:左dataframe以索引为合并列,右dataframe以索引为合并列
pd.merge(df1,df2,left_index=true,right_index=true)
例7:企图以c为合并列,同时左dataframe以索引为合并列
pd.merge(df1,df2,left_index=true,on='c')
系统会抛出合并异常,说合并列和索引不能同时设置,mergeerror: can only pass argument “on” or “left_index” and “right_index”, not a combination of both.
总结
以上就是要记录/勘误的内容,本文仅仅简单介绍了pandas中dataframe的merge使用。书中可能还存在许许多多的错误,仍有待我们去发掘。每一次小小的发现都是大大的收获。
到此这篇关于pandas中dataframe的merge操作的实现的文章就介绍到这了,更多相关dataframe merge操作内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论