pandas将两个dataframe横向拼接,通过两列关系
时间: 2024-10-18 13:04:59 浏览: 32
Pandas 合并多个Dataframe(merge,concat)的方法
Pandas中的DataFrame可以使用`concat()`函数或`join()`函数进行横向(row-wise)拼接,通常是基于共享的列(index or keys)。如果你有两组DataFrame,它们想要通过某两列进行关联并拼接,可以按照以下步骤操作:
1. **基于索引列拼接**:如果你的DataFrame都有相同的行标签(index),你可以直接使用`pd.concat()`函数,设置`axis=1`(表示沿列方向拼接),并将这两列作为`keys`参数,比如:
```python
df1 = ... # 第一个DataFrame
df2 = ... # 第二个DataFrame,同样有相同的行标签
merged_df = pd.concat([df1, df2], axis=1, keys=['DF1', 'DF2'], join='inner') # 或者其他JOIN选项,如'outer'
```
2. **基于列名拼接**:如果想通过列名进行拼接,先确认这两列在每个DataFrame中都存在,并且名称一致。然后使用`merge()`或`join()`:
```python
merge_on = 'common_column_name' # 共享的列名
merged_df = df1.merge(df2, left_on=merge_on, right_on=merge_on, how='outer')
```
在上述例子中,`how`参数可以选择 `'left'`, `'right'`, `'outer'` 或 `'inner'` 来控制结果合并的方式。
阅读全文