合并两个及以上dataframe
时间: 2024-09-22 17:04:49 浏览: 42
合并Pandas DataFrame通常涉及到数据集之间的纵向堆叠(stacking)或横向连接(concatenation)。主要有三种基本的合并方法:`pd.concat()`, `pd.merge()`, 和 `join`(适用于特定情况下的DataFrame和Panel)。
1. **pd.concat()**: 这个函数用于沿着指定轴方向连接一系列的数据框。例如,如果你想要水平地连接两个或更多的DataFrame,你可以这样做:
```python
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
merged = pd.concat([df1, df2], axis=0) # 横向连接
```
2. **pd.merge()**: 这个函数主要做的是基于一个或多个键列(key columns)进行连接,通常是内连接(inner join)、左连接(left join)、右连接(right join)或外连接(outer join)。例如:
```python
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': range(3)})
df2 = pd.DataFrame({'key': ['B', 'D', 'E'], 'value': range(3, 6)})
merged = pd.merge(df1, df2, on='key') # 内连接,返回键值相同的行
```
3. **join** (仅限于DataFrame): 是一个更高级别的接口,它结合了`merge`的一些特性。例如,`df1.join(df2)` 等价于 `df1.merge(df2)`。
阅读全文