pd.DataFrame 合并两列
时间: 2025-06-01 11:08:17 浏览: 19
### 如何使用 Pandas 的 DataFrame 合并两列
在 Pandas 中,`merge` 函数主要用于根据某些键将两个 DataFrame 按行进行合并。然而,如果需要合并两列(即按列合并),可以使用其他方法来实现这一目标。以下是一个详细的解释和示例代码。
#### 使用 `concat` 方法按列合并
当需要将两个 DataFrame 的列合并时,可以使用 `pd.concat` 方法,并指定 `axis=1` 参数以按列方向合并。
```python
import pandas as pd
# 创建两个示例 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
# 使用 concat 按列合并
result = pd.concat([df1, df2], axis=1)
print(result)
```
#### 使用 `join` 方法按列合并
除了 `concat`,还可以使用 `join` 方法实现类似的效果。`join` 默认是按列合并的。
```python
# 使用 join 按列合并
result = df1.join(df2)
print(result)
```
#### 使用 `assign` 方法创建新列
如果需要将两列数据合并为一列(例如通过字符串拼接或数值计算),可以使用 `assign` 或直接赋值的方式。
```python
# 示例:将两列合并为一列
df = pd.DataFrame({'col1': ['a', 'b', 'c'], 'col2': ['x', 'y', 'z']})
df['merged_col'] = df['col1'] + df['col2']
print(df)
```
#### 使用 `merge` 按列合并(特殊情况)
虽然 `merge` 主要用于按行合并,但在某些情况下也可以通过调整参数实现类似按列合并的效果。例如,可以通过设置 `on` 参数指定合并的列。
```python
# 示例:按某一列合并两个 DataFrame
df1 = pd.DataFrame({'key': ['k0', 'k1', 'k2'], 'A': ['a0', 'a1', 'a2']})
df2 = pd.DataFrame({'key': ['k0', 'k1', 'k3'], 'B': ['b0', 'b1', 'b3']})
result = pd.merge(df1, df2, on='key', how='outer')
print(result)
```
以上方法涵盖了不同场景下如何使用 Pandas 合并两列的需求。
---
阅读全文
相关推荐


















