ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pandas 笔记:合并操作

2021-09-28 18:34:03  阅读:189  来源: 互联网

标签:... 合并 df1 笔记 df2 pd pandas concat axis


1 concat

将数据根据不同的轴进行简单的融合

pd.concat(
    objs, 
    axis=0, 
    join='outer', 
    join_axes=None, 
    ignore_index=False,
    keys=None, 
    levels=None, 
    names=None, 
    verify_integrity=False)

1.1 主要参数说明

objsseries,dataframe构成的序列lsit 
axis

需要合并链接的轴,

0是行(a[...][0] 和 b[...][0]合并,a[...][1] 和 b[...][1]合并)

1是列(a[0][...] 和 b[0][...]合并,a[1][...] 和 b[1][...]合并)

join

连接的方式 inner,或者outer

如果为'inner'得到的是两表的交集,如果是outer,得到的是两表的并集

key识别数据源自于哪张表
ignore_index设置为true之后,合并的两个表就会根据列字段对齐,然后合并。最后再重新整理一个新的index

1.2 axis

需要合并链接的轴,

lst1=[['a0','b0','c0','d0'],
     ['a1','b1','c1','d1'],
     ['a2','b2','c2','d2'],
     ['a3','b3','c3','d3']]
lst2=[['a4','b4','c4','d4'],
     ['a5','b5','c5','d5'],
     ['a6','b6','c6','d6'],
     ['a7','b7','c7','d7']]
lst3=[['a8','b8','c8','d8'],
     ['a9','b9','c9','d9'],
     ['a10','b10','c10','d10'],
     ['a11','b11','c11','d11']]
df1=pd.DataFrame(lst1)
df2=pd.DataFrame(lst2)
df3=pd.DataFrame(lst3)

0是行(a[...][0] 和 b[...][0]合并,a[...][1] 和 b[...][1]合并)【默认】

pd.concat([df1,df2,df3],axis=0)

 

1是列(a[0][...] 和 b[0][...]合并,a[1][...] 和 b[1][...]合并)

pd.concat([df1,df2,df3],axis=1)

1.3 key

识别数据源自于哪张表

 依旧是1.2的数据

pd.concat([df1,df2,df3],axis=0,keys=['df1','df2','df3'])

 

pd.concat([df1,df2,df3],axis=1,keys=['df1','df2','df3'])

 1.3.1 也可以传入字典来增加分组键 

lst1=[['a0','b0','c0','d0'],
     ['a1','b1','c1','d1'],
     ['a2','b2','c2','d2'],
     ['a3','b3','c3','d3']]
lst2=[['a4','b4','c4','d4'],
     ['a5','b5','c5','d5'],
     ['a6','b6','c6','d6'],
     ['a7','b7','c7','d7']]
df1=pd.DataFrame(lst1)
df2=pd.DataFrame(lst2)
pd.concat({'df1':df1,'df2':df2})

 1.4 join

连接的方式 inner,或者outer

如果为'inner'得到的是两表的交集,如果是outer,得到的是两表的并集【默认outer】

lst1=[['a0','b0','c0','d0'],
     ['a1','b1','c1','d1'],
     ['a2','b2','c2','d2'],
     ['a3','b3','c3','d3']]
lst2=[['a4','b4','c4','d4'],
     ['a5','b5','c5','d5'],
     ['a6','b6','c6','d6'],
     ['a7','b7','c7','d7']]
df1=pd.DataFrame(lst1,columns=['A','B','C','D'])
df2=pd.DataFrame(lst2,columns=['A','B','E','F'])
pd.concat([df1,df2],axis=0,join='inner')

 

pd.concat([df1,df2],axis=0,join='outer')

 

1.5 ignore_index 

设置为true之后,合并的两个表就会根据列字段对齐,然后合并。最后再重新整理一个新的index

lst1=[['a0','b0','c0','d0'],
     ['a1','b1','c1','d1'],
     ['a2','b2','c2','d2'],
     ['a3','b3','c3','d3']]
lst2=[['a4','b4','c4','d4'],
     ['a5','b5','c5','d5'],
     ['a6','b6','c6','d6'],
     ['a7','b7','c7','d7']]
df1=pd.DataFrame(lst1)
df2=pd.DataFrame(lst2)
pd.concat([df1,df2],axis=0)

 

pd.concat([df1,df2],axis=0,ignore_index=True)

 

2 append

默认沿着列进行拼接

 result = df1.append(s2, ignore_index=True)

标签:...,合并,df1,笔记,df2,pd,pandas,concat,axis
来源: https://blog.csdn.net/qq_40206371/article/details/120528106

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有