Python实现数据按ID合并(同EXCEL中Vlookup函数实现数据横向合并)

安稳与你 提交于 2020-03-06 04:05:26

EXCEL中Vlookup函数实现数据横向合并,SAS中也是用merge实现横向合并,SQL中则是内连接inner join 左连接和右连接,意义都是等同的。
如下为python中的根据关键词合并代码:

import pandas as pd

#路径中文则加r,econding指定读取带文本的文件
data1 = pd.read_excel('1.xlsx',encoding = 'utf-8') 
#指定sheet名读取,添加参数sheet_name = 'AAA'
data2 = pd.read_excel('2.xlsx',encoding = 'utf-8') 
all_data = pd.merge(data1,data2,left_on='客户ID',right_on='CRM客户号',how='left') 
# merge中也可添加on = ['key1','key2']可多列关键词
#print(all_data)
all_data.to_excel('3.xlsx')

是不是很简单,so easy,只用到了个merge函数,

merge(left_dataname, right_dataname, 
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)
left_dataname,right_dataname 待连接的两个不同的DataFrame名称
how 取值可以为[‘left’, ‘right’, ‘outer’, ‘inner’];默认为inner
on 用于连接的列索引名称。做为连接键,经常是id,编号等能唯一确定数据的主键,当然也可以多个
left_on 左侧DataFrame中用作连接键的列名
right_on 左侧DataFrame中用作连接键的列名
left_index 使用左则DataFrame中的行索引做为连接键,这个一般情况用不到
right_index 同上,这个一般也用不到
sort 默认为True,将合并的数据进行排序,这个可以加上
suffixes 用于指定当左右DataFrame存在相同列名时在列名后面附加的后缀名称,默认为(’_x’,’_y’),这个也用不到
copy 默认为True,也用不到
indicator 可以忽略,谁知道是啥,我没用过
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!