我是靠谱客的博主 漂亮砖头,最近开发中收集的这篇文章主要介绍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=

indexidnameplace
01      zhangNaN
12chenNaN
23leeNaN
34wangNaN
42NaNShenzhen
53NaNHongKong
64NaNNewYork
75NaNLondon

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

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

执行后,df4=

index0123
1       zhang  2        Shenzhen    
12chen3HongKong
23lee4NewYork
34wang5London

 

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

dfs=[df1,df2,df3,df4,df5]
df6=pandas.DataFrame()
df6['id']=pd.concat([df['id'] for df in dfs])

 

转载于:https://www.cnblogs.com/aaronhoo/p/9323450.html

最后

以上就是漂亮砖头为你收集整理的pandas DataFrame 的横向纵向拼接组合的全部内容,希望文章能够帮你解决pandas DataFrame 的横向纵向拼接组合所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部