Python Excel数据处理入土筑基期 :【Pandas之concat】

在Python的Pandas库中,`pd.concat()` 函数是一个用于合并多个Pandas对象(如DataFrame或Series)的工具。这个函数可以在不同的轴上进行操作,从而允许你垂直(沿着索引)或水平(沿着列)堆叠数据。
以下是`pd.concat()`的一些基本用法:
1. **垂直堆叠(沿着索引)**:
   当你有多份数据,想要将它们垂直地堆叠在一起时,可以使用`pd.concat()`。默认情况下,`pd.concat()`沿着索引(axis=0)进行操作。
```python
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                    index=[0, 1, 2, 3])
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                    'B': ['B4', 'B5', 'B6', 'B7'],
                    'C': ['C4', 'C5', 'C6', 'C7'],
                    'D': ['D4', 'D5', 'D6', 'D7']},
                    index=[4, 5, 6, 7])
result = pd.concat([df1, df2])
print(result)
```
2. **水平堆叠(沿着列)**:
   如果想要将数据水平地堆叠在一起,可以设置`axis=1`。
```python
result = pd.concat([df1, df2], axis=1)
print(result)
```
3. **保留索引**:
   默认情况下,`pd.concat()`会保留原始数据的索引。如果你不希望保留索引,可以使用`ignore_index=True`。
```python
result = pd.concat([df1, df2], ignore_index=True)
print(result)
```
4. **键值对合并**:
   当合并多个DataFrame时,可以使用`keys`参数来为每个DataFrame添加一个层次化的索引。
```python
result = pd.concat([df1, df2], keys=['x', 'y'])
print(result)
```
5. **连接相同列名的DataFrame**:
   如果合并的DataFrame具有不同的列,`pd.concat()`会在结果中保留所有的列。如果列名不同,那么结果中将包含所有唯一的列名。
```python
df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
                    'E': ['E8', 'E9', 'E10', 'E11']},
                    index=[8, 9, 10, 11])
result = pd.concat([df1, df3])
print(result)
```
请注意,`pd.concat()`并不是处理所有数据合并问题的最佳工具。例如,当你的数据有共同的列并且你想基于这些列进行合并时,`pd.merge()`或`DataFrame.join()`可能是更好的选择。`pd.concat()`适用于简单的堆叠操作,特别是当你想要沿着某个轴简单地将多个数据集组合在一起时。
 

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值