📌  相关文章
📜  如何在索引上合并两个 Pandas DataFrame?(1)

📅  最后修改于: 2023-12-03 14:52:57.720000             🧑  作者: Mango

如何在索引上合并两个 Pandas DataFrame?

在 Pandas 中,可以通过多种方法合并两个 DataFrame,其中一种是在索引上合并。索引合并是基于 DataFrame 的索引进行操作,通过将两个 DataFrame 的索引进行匹配,将它们合并成一个新的 DataFrame。

以下是在索引上合并两个 Pandas DataFrame 的方法:

1. 使用 concat() 函数

concat() 函数可以在指定的轴上将两个或多个 DataFrame 连接在一起。在索引上合并时,需要设置参数 join='inner',以保留只存在于两个 DataFrame 索引交集部分的数据。

import pandas as pd

# 创建示例 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=[0, 1, 2])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=[1, 2, 3])

# 在索引上合并两个 DataFrame
merged_df = pd.concat([df1, df2], axis=1, join='inner')

print(merged_df)

输出结果:

   A  B  C   D
1  2  5  7  10
2  3  6  8  11
2. 使用 merge() 函数

merge() 函数可以基于列或索引的值将两个 DataFrame 进行合并。在索引上合并时,需要设置参数 left_index=Trueright_index=True,以使用索引作为合并的键。

import pandas as pd

# 创建示例 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=[0, 1, 2])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=[1, 2, 3])

# 在索引上合并两个 DataFrame
merged_df = pd.merge(df1, df2, left_index=True, right_index=True)

print(merged_df)

输出结果:

   A  B  C   D
1  2  5  7  10
2  3  6  8  11

通过以上两种方法,可以根据索引将两个 Pandas DataFrame 进行合并,获得合并后的 DataFrame。可以根据具体的需求选择适合的方法进行操作。