zoukankan      html  css  js  c++  java
  • pandas DataFrame 的横向纵向拼接组合

    concat 与其说是连接,更准确的说是拼接。就是把两个表直接合在一起。于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数的关键参数是axis 。 
    函数的具体参数是:

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

    objs 是需要拼接的对象集合,一般为列表或者字典

    axis=0 是按照行拼接,拼接之后行数增加,列数也根据join来定,join=’outer’时,列数是两表并集。同理join=’inner’,列数是两表交集。

    在默认情况下为纵向拼接,即axis=0,此时有

    concat([df1,df2]) 等价于 df1.append(df2)

    在axis=1 时为横向拼接 ,此时有

    concat([df1,df2],axis=1) 等价于 merge(df1,df2,left_index=True,right_index=True,how='outer')

    以上转自: https://blog.csdn.net/qq_30718387/article/details/72152461

    应用举例:

    df=pandas.DataFrame()
    
    df2=pandas.DataFrame()
    
    df['id']=[1,2,3,4]
    df['name']=['zhang','chen','lee','wang'] df2['id']=[2,3,4,5]
    df2['place']=['Shenzhen','Hongkong','NewYork','London']
    df3=pandas.DataFrame({'id':[]})

    用法1:把来自两个不同DataFrame的列,纵向拼接到一起,赋值给另一个DataFrame的列。

    df3['id']=pandas.concat([df['id'],df2['id']],axis=0,ignore_index=True)

     执行后,

    df3['id']=[1,2,3,4,5,2,3,4,5]

    用法2:两个DataFrame进行纵向拼接:

    df4=pandas.concat([df,df2],axis=0,ignore_index=True)

    执行后,df4=

    index id name place
    0 1       zhang NaN
    1 2 chen NaN
    2 3 lee NaN
    3 4 wang NaN
    4 2 NaN Shenzhen
    5 3 NaN HongKong
    6 4 NaN NewYork
    7 5 NaN London

     用法3:两个DataFrame进行横向拼接:

    df4=pandas.concat([df,df2],axis=1,ignore_index=True)

    执行后,df4=

    index 0 1 2 3
    1        zhang   2         Shenzhen    
    1 2 chen 3 HongKong
    2 3 lee 4 NewYork
    3 4 wang 5 London

    多个拼接还可以使用生成器:

    dfs=[df1,df2,df3,df4,df5]
    
    df6=pandas.DataFrame()
    
    df6['id']=pd.concat([df['id'] for df in dfs])
  • 相关阅读:
    JAVA邀请码生成器
    Mybatis+Spring实现Mysql读写分离
    Apache HttpComponents 工具类 [ HttpUtil ]
    JAVA短信验证码 工具类
    Spring 集成 Redis
    Java图片高保真缩放工具类
    JAVA Sftp 上传下载
    java项目小手册
    WebSocket前后端实现
    页面PC端 / 移动端整屏纵向翻页,点击/触摸滑动效果功能代码非插件
  • 原文地址:https://www.cnblogs.com/aaronhoo/p/9323450.html
Copyright © 2011-2022 走看看