pandas数据合并之pd.concat()用法详解
本文深入解析pandas中pd.concat()函数的核心用法,详细讲解objs、axis、join等关键参数的含义与区别。通过上下堆叠与左右拼接两个实战案例,展示如何灵活处理Dataframe和Series的合并操作,帮助开发者掌握高效的数据合并技巧。
一、简介
pd.concat()函数用于沿指定轴将多个DataFrame或Series对象拼接在一起。
基本语法如下:
- pd.concat( objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True, )
- objs参数指定需要连接的对象列表,例如[ df1, df2 ],需将待合并的数据放入方括号中;
- axis参数决定拼接方向:axis=0表示沿行方向上下堆叠,axis=1表示沿列方向左右拼接;
- join参数控制连接类型:join='outer'执行外连接,保留所有表的信息;join='inner'执行内连接,仅保留两个表共有的索引信息;
- join_axes参数用于在内连接时指定保留哪个表的索引,但官方文档提示该参数即将弃用,因此此处不作详细展开,仅通过join参数的表现进行说明;
二 、代码
例1:上下堆叠拼接
import pandas as pd
d1 = [["xiaolei",20,10081],["xiaowu",30,10082]]
t1 = pd.DataFrame(d1)
print(t1)
print('*'*50)
d2 = [["xiaowang",22,10083],["xiaoming",25,10084]]
t2 = pd.DataFrame(d2)
print(t2)
print('*'*25+'合并结果如下(默认是上下堆叠)'+'*'*25)
t = pd.concat([t1,t2])
print(t)运行结果:
0 1 2 0 xiaolei 20 10081 1 xiaowu 30 10082 ************************************************** 0 1 2 0 xiaowang 22 10083 1 xiaoming 25 10084 ********************合并结果如下(默认是上下堆叠)******************** 0 1 2 0 xiaolei 20 10081 1 xiaowu 30 10082 0 xiaowang 22 10083 1 xiaoming 25 10084
例2:axis=1 左右拼接
import pandas as pd
d1 = [["xiaolei",20,10081],["xiaowu",30,10082]]
t1 = pd.DataFrame(d1)
print(t1)
print('*'*50)
d2 = [["xiaowang",22,10083],["xiaoming",25,10084]]
t2 = pd.DataFrame(d2)
print(t2)
print('*'*20+'合并结果如下(左右拼接)'+'*'*20)
t = pd.concat([t1,t2], axis=1)
print(t)运行结果:
0 1 2 0 xiaolei 20 10081 1 xiaowu 30 10082 ************************************************** 0 1 2 0 xiaowang 22 10083 1 xiaoming 25 10084 ********************合并结果如下(左右拼接)******************** 0 1 2 0 1 2 0 xiaolei 20 10081 xiaowang 22 10083 1 xiaowu 30 10082 xiaoming 25 10084
到此这篇关于pandas数据合并之pd.concat()用法详解的文章就介绍到这了,更多相关pandas pd.concat()内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













