pandas的连接函数concat()函数

本文深入探讨了Pandas库中的concat()函数,详细讲解了如何使用该函数进行数据帧的行和列方向上的合并,包括参数axis、join的用法,并通过实例展示了不同参数设置下数据合并的效果。

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

pandas的连接函数concat()函数

pd.concat(objs, axis``=``0``, join``=``'outer'``, join_axes``=``None``, ignore_index``=``False``,
   ``keys``=``None``, levels``=``None``, names``=``None``, verify_integrity``=``False``,
   ``copy``=``True``)

axis:需要合并链接的轴,0是行,1是列
join: 连接的方式 :inner,outer

df1 = pd.DataFrame({'A':['A0','A1','A2','A3'],
                    'B':['B0','B1','B2','B3'],
                    'C':['C0','C1','C2','C3'],
                    'D':['D0','D1','D2','D3']},index=list('1234'))
df1

在这里插入图片描述

df2 = pd.DataFrame({'A':['A4','A5','A6','A6'],
                    'B':['B4','B5','B5','B6'],
                    'C':['C4','C5','C5','C6'],
                    'D':['D4','D5','D5','D6']},index=list('2345'))
df2

在这里插入图片描述

frames=[df1,df2]
result=pd.concat(frames)
result

在这里插入图片描述

result = pd.concat(frames, keys=['x', 'y'])
result

在这里插入图片描述

result.loc['x']

在这里插入图片描述

result1=pd.concat([df1,df2],axis=1)
result1

在这里插入图片描述

JOIN参数
默认join = ‘outer’,为取并集的关系:

result1 = pd.concat([df1, df2], axis=1, join='inner')
result1

在这里插入图片描述

result1 = pd.concat([df1, df2], axis=1, join_axes=[df1.index]) #设置索引为df1的索引

TypeError: concat() got an unexpected keyword argument ‘join_axes’

### 关于Pandas连接函数的使用 #### 使用`merge()`进行数据框合并操作 在处理结构化表格型数据时,`pandas.merge()`提供了强大的功能来执行SQL风格的数据集联合操作。此方法允许基于一个或多个键来进行两个DataFrame对象之间的内联、外联以及左/右联接等不同类型的关联[^2]。 ```python import pandas as pd # 创建示例数据帧 left = pd.DataFrame({ 'key': ['K0', 'K1', 'K2'], 'A': ['A0', 'A1', 'A2'] }) right = pd.DataFrame({ 'key': ['K0', 'K1', 'K3'], 'B': ['B0', 'B1', 'B3'] }) result_inner = pd.merge(left, right, on='key') print(result_inner) result_outer = pd.merge(left, right, how='outer', on='key') print("\n", result_outer) ``` 上述代码展示了如何通过指定公共列名作为参数`on`实现两表间的内部交集(`how='inner'`)与外部并集(`how='outer'`)两种方式的融合。 #### 利用`concat()`沿轴向拼接数据框 除了传统的数据库式的连接之外,有时也需要简单地沿着某个维度堆叠多张表单。这时可以采用`pd.concat()`命令完成这一任务。默认情况下会按照索引标签自动对齐各输入项中的对应位置,并支持水平方向(axis=1)和垂直方向(axis=0)上的扩展[^4]。 ```python df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']}) df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2'], 'D': ['D0', 'D1', 'D2']}) horizontal_concat = pd.concat([df1, df2], axis=1) vertical_concat = pd.concat([df1, df2]) print("Horizontal Concat:\n", horizontal_concat) print("\nVertical Concat:\n", vertical_concat) ``` 这段脚本说明了当axis设置为1时表示横向排列子组件;而axis等于0则意味着纵向叠加它们。 #### 官方API文档链接 对于更详细的语法介绍和技术细节,请参阅官方提供的[pandas API Reference][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值