python按索引合并
时间: 2023-07-06 17:35:53 浏览: 92
在 Pandas 中,您可以使用 `pd.concat` 函数或 `DataFrame.merge` 方法将两个或多个 DataFrame 按照行或列的方向进行合并,其中也可以指定按照索引进行合并。
假设有两个 DataFrame `df1` 和 `df2`,它们的索引分别是 `idx1` 和 `idx2`,您可以按照以下方式将它们按照索引进行合并:
```python
merged_df = pd.concat([df1, df2], axis=0, join='inner')
```
或者
```python
merged_df = df1.merge(df2, left_index=True, right_index=True)
```
在这两种合并方式中,我们都将 `join` 或 `left_index` 和 `right_index` 参数设置为 `True`,表示按照索引进行合并。`pd.concat` 函数还需要指定 `axis` 参数为 `0`,表示按照行的方向进行合并。`merge` 方法则默认按照行进行合并,因此不需要指定 `axis` 参数。
另外,如果您需要指定不同的合并方式,可以通过 `join` 或 `how` 参数进行设置。例如,`join='inner'` 表示只保留两个 DataFrame 共有的索引行,`join='outer'` 表示保留所有索引行,缺失值用 NaN 填充。`how` 参数则可以设置为 `inner`、`outer`、`left` 或 `right`,分别表示按照两个 DataFrame 共有的索引行、所有索引行、左边的 DataFrame 索引行、右边的 DataFrame 索引行进行合并。
阅读全文