博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
concat merge
阅读量:4983 次
发布时间:2019-06-12

本文共 2358 字,大约阅读时间需要 7 分钟。

# concat

import numpy as npimport pandas as pd from pandas import Series,DataFramedf1 = DataFrame(data=np.random.randint(0,100,size=(3,3)),index=['a','b','c'],columns=['A','B','C'])df2 = DataFrame(data=np.random.randint(0,100,size=(3,3)),index=['a','e','c'],columns=['A','E','C'])pd.concat((df1,df1),axis=0,join='inner') #列 outer# concat 匹配级联 不匹配级联pd.concat((df1,df2),axis=0,join='inner') #outer 用的多 df1.append(df2) #在后面追加  默认在列上 级联
<表表横纵的拼接>
/合并merge的区别
<数据的合并>

# merge

一对一 合并import numpy as npfrom pandas import DataFrame,Seriesimport pandas as pddf1 = DataFrame({
'employee':['Bob','Jake','Lisa'], 'group':['Accounting','Engineering','Engineering'], })df2 = DataFrame({
'employee':['Lisa','Bob','Jake'], 'hire_date':[2004,2008,2012], })pd.merge(df2,df1) #默认inner outer显示全数据#left, right, how='inner', on条件, left_on=None, right_on=None, left_index=False, right_index=False
多对一合并df3 = DataFrame({    'employee':['Lisa','Jake'],    'group':['Accounting','Engineering'],    'hire_date':[2004,2016]})df4 = DataFrame({
'group':['Accounting','Engineering','Engineering'], 'supervisor':['Carly','Guido','Steve'] })pd.merge(df3,df4,'outer')
多对多合并df1 = DataFrame({
'employee':['Bob','Jake','Lisa'], 'group':['Accounting','Engineering','Engineering']})df5 = DataFrame({
'group':['Engineering','Engineering','HR'], 'supervisor':['Carly','Guido','Steve'] })pd.merge(df1,df5,'right') #on条件 suffixes=('_x', '_y')指定冲突列名
#inner outer左右表数据的完整性 #left right 区别
加载excl数据: pd.read_excel('excl_path',sheetname=1)
key的规范化当列冲突时,即有多个列名称相同时,需要使用on=来指定哪一个列作为key,配合suffixes指定冲突列名df1 = DataFrame({
'employee':['Jack',"Summer","Steve"], 'group':['Accounting','Finance','Marketing']})df2 = DataFrame({
'employee':['Jack','Bob',"Jake"], 'hire_date':[2003,2009,2012], 'group':['Accounting','sell','ceo']})pd.merge(df1,df2,'outer','group',suffixes=('_1', '_2'))当两张表没有可进行连接的列时,可使用left_on和right_on手动指定merge中左右两边的哪一列列作为连接的列pd.merge(df1,df5,'outer',left_on='employee',right_on='name',) #有NaNpd.merge(df1,df5,'inner',left_on='employee',right_on='name',) # 内合并inner交集 只保留两者都有的key(默认模式) 外合并outer并集 how='outer' 补NaN

 

 

 

转载于:https://www.cnblogs.com/zhangchen-sx/p/11119283.html

你可能感兴趣的文章
Jenkins使用手册及总结
查看>>
Latest Common Ancestor
查看>>
getByClass--获取指定标签且class为指定的所有元素
查看>>
三点顺序
查看>>
拟物化设计与扁平化设计
查看>>
PS小实验-去除水印
查看>>
IS-IS完整笔记
查看>>
★如何解释特修斯之船问题?
查看>>
玩转PS路径,轻松画logo!
查看>>
Python简介及学习
查看>>
!!!后续博客写到简书 + 博客园留博客目录
查看>>
小白学数据分析-----> 利用SPSS对DAU/MAU进行比率分析
查看>>
js中this与srcElement的区别
查看>>
第一个MyBatis程序
查看>>
.net 数据库缓存依赖:【实例与解释】
查看>>
Android Service小试 启动和停止service
查看>>
一天一个设计模式:适配器模式
查看>>
第5题 查找字符串中的最长回文字符串---Manacher算法
查看>>
HDOJ 1069 Monkey and Banana 解题报告
查看>>
11锚点与图像对象
查看>>