栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas 笔记:合并操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas 笔记:合并操作

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)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号