pd.concat()横向连接
时间: 2024-08-15 19:05:14 浏览: 71
详解pandas数据合并与重塑(pd.concat篇)
`pd.concat()` 函数是 pandas 库中用于数据帧(DataFrame)操作的一种工具,它可以将两个或更多数据帧按照特定的方式合并在一起。其中,“横向”连接通常指的是沿着数据帧的行方向进行组合。
### `pd.concat()` 的基本语法:
```python
pd.concat([dataframe1, dataframe2], axis=0)
```
#### 参数解释:
- **[dataframe1, dataframe2]**:这是要连接的数据帧列表。你可以指定任意数量的数据帧进行连接。
- **axis**:这个参数决定了沿哪个轴进行拼接,默认值为0,表示按照行进行拼接(横向连接)。如果设置为1,则表示按列拼接(纵向连接)。
### 横向连接(axis=0)示例:
假设我们有两个数据帧 `df1` 和 `df2`:
```python
import pandas as pd
# 示例数据框
data1 = {'Name': ['Tom', 'Nick'],
'Age': [20, 25]}
df1 = pd.DataFrame(data1)
data2 = {'Name': ['John', 'Mike'],
'City': ['New York', 'Chicago']}
df2 = pd.DataFrame(data2)
# 进行横向连接
combined_df = pd.concat([df1, df2])
```
运行上述代码后,结果会是一个新的数据帧,包含了 `df1` 和 `df2` 的所有信息,并保持了它们各自的顺序。最终的 `combined_df` 可能看起来像这样:
| Name | Age |
|------|-----|
| Tom | 20 |
| Nick | 25 |
| John | NaN |
| Mike | NaN |
请注意,由于这两个数据帧没有共享相同的列名或索引,在合并过程中,缺失的值(在这里表现为 NaN)会被添加到无对应数据的新行上。
### 关联问题:
1. `pd.concat()` 还支持哪些其他类型的连接?
2. 当如何处理合并前需要调整索引或列名称的情况?
3. `pd.concat()` 是否有性能考虑需要注意的地方?
阅读全文