zoukankan      html  css  js  c++  java
  • Pandas中DataFrame数据合并、连接(concat、merge、join)之concat

    一、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")

  • 相关阅读:
    在线添加磁盘,扩展LVM卷案例
    iOS 通过代码关闭应用程序
    hdu1443(约瑟夫环游戏的原理 用链表过的)
    Mapper映射语句高阶应用——ResultMap
    SeekBar和RatingBar
    Myeclipse中如何修改Tomcat的端口号
    新浪微博客户端开发之OAuth认证篇
    层层递进Struts1(六)自定义转换器
    CF 13E Holes 【块状链表】
    《mysql必知必会》学习_第13章
  • 原文地址:https://www.cnblogs.com/wqbin/p/10363598.html
Copyright © 2011-2022 走看看