码迷,mamicode.com
首页 > 其他好文 > 详细

Pandas中DataFrame数据合并、连接(concat、merge、join)之concat

时间:2019-02-12 00:23:00      阅读:949      评论:0      收藏:0      [点我收藏+]

标签:levels   合并   inner   info   随机   outer   span   com   state   

一、concat:沿着一条轴,将多个对象堆叠到一起

concat(objs, axis=0, join=outer, join_axes=None, ignore_index=False, 
       keys=None, levels=None, names=None, verify_integrity=False, copy=True): 

 objs:需要连接的对象集合,一般是列表或字典;

 axis:连接轴向;

 join:参数为‘outer’或‘inner’;

 join_axes=[]:指定自定义的索引;

 keys=[]:创建层次化索引;

 ignore_index=True:重建索引

 

pd.concat()只是单纯的把两个表拼接在一起,参数axis是关键,它用于指定是行还是列,axis默认是0。

当axis=0时,pd.concat([obj1, obj2])的效果与obj1.append(obj2)是相同的;

当axis=1时,pd.concat([obj1, obj2], axis=1)的效果与pd.merge(obj1, obj2, left_index=True, right_index=True, how=‘outer‘)是相同的。merge方法的介绍请参看下文。

import  pandas as pd
import numpy  as np
random = np.random.RandomState(0)  #随机数种子,相同种子下每次运行生成的随机数相同
df1=pd.DataFrame(random.randn(3,4),columns=[a,b,c,d])
df1

技术图片

random = np.random.RandomState(0)
df2=pd.DataFrame(random.randn(2,3),columns=[b,d,a],index=["a1","a2"])
df2

技术图片

random = np.random.RandomState(1)
df22=pd.DataFrame(random.randn(3,3),columns=[b,d,a],index=[1,"a1","a2"])
df22

技术图片

 

当axis=0时

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

技术图片

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

技术图片

df12=df1.append(df2)
df12

技术图片

 

pd.concat([df1,df2],axis=0,join="inner")

技术图片

 

当axis=1时

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

技术图片

pd.concat([df1,df1],axis=1,join=inner) #和outer一样

技术图片

pd.concat([df1,df2],axis=1,join="outer")

技术图片

 

pd.concat([df1,df22],axis=1,join="inner")

技术图片

pd.concat([df1,df22],axis=1,join="outer")

技术图片

 

pd.concat([df1,df1],axis=1,join="outer")

技术图片

 

Pandas中DataFrame数据合并、连接(concat、merge、join)之concat

标签:levels   合并   inner   info   随机   outer   span   com   state   

原文地址:https://www.cnblogs.com/wqbin/p/10363598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!