dataframe 横向拼接,Pandas系列7-DataFrame之合并组合

本文详细介绍了如何在Pandas中进行DataFrame的横向和纵向拼接,包括使用`concat`、`append`、`merge`等方法。通过实例展示了不同连接方式的用法,如按行(纵向)连接、按列(横向)连接,以及如何处理重叠列。同时还讲解了`merge`的参数,如`on`, `how`, `suffixes`等,以及`join`与`merge`的区别。" 112237189,10545626,Word双面打印攻略:预留装订线,奇偶页设置与格式调整,"['Word打印技巧', '文档装订', '办公软件', '打印设置', 'Word教程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Pandas的实践过程中,我们经常需要将两个DataFrame合并组合在一起再进行处理,比如将不同来源的数据合并在一起,或者将不同日期的DataFrame合并在一起。DataFrame的合并组合从方向上分,大体上分为两种情况:横向的,纵向的。(这个很容易理解吧)

看下如下的图示(图片来自Pandas官网)

00310cc9918e

横向

00310cc9918e

纵向

另外需要注意的是,两个DataFrame在合在一起的时候,如果针对重叠项(比如都有column B)会有两种不同的处理方式,一种是针对重叠项进行合并处理(比如相加,或者直接取代);另一种是忽略重叠项,只是简单的组合在一起。前者我们称为合并,后者我们叫做组合。

另外,在Pandas中有很多不同函数和不同用法,比如有concat, join, merge, append,它们各有不同的使用场景。

纵向连接

In [45]: import pandas as pd

In [46]: df = pd.DataFrame({"name": ["zhangsan", "lisi", "wangwu"], "city": ["beijing"

...: , "beijing", "shenzhen"], "order": [12, 33, 67]})

In [47]: df

Out[47]:

city name order

0 beijing zhangsan 12

1 beijing lisi 33

2 shenzhen wangwu 67

In [48]: df2 = pd.DataFrame({"name": ["zhanghai", "liyang", "wangjing"], "city": ["sha

...: nghai", "shenzhen", "chengdu"], "order": [2, 3, 7]})

In [49]: df2

Out[49]:

city name order

0 shanghai zhanghai 2

1 shenzhen liyang 3

2 chengdu wangjing 7

# concat默认按行拼接(即纵向连接,axis=0), 也可以按列来连接(axis=1)

# 注意concat拼接时,其参数是一个数组 ,因此可以拼接多个DataFrame

In [51]: pd.concat([df, df2])

Out[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值