📅  最后修改于: 2023-12-03 15:37:54.607000             🧑  作者: Mango
在 Pandas 中,我们可以轻松地从一个 DataFrame 添加列到另一个 DataFrame,只需要使用 merge()
函数即可。
示例代码如下:
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'F', 'G'], 'value2': [5, 6, 7, 8]})
# 合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='key')
# 输出合并后的 DataFrame
print(merged_df)
输出结果如下:
key value value2
0 B 2 5
1 D 4 6
在上面的示例代码中,我们使用 merge()
函数将 df1
和 df2
合并为一个新的 DataFrame,其中 on='key'
表示按照 key
列进行合并。经过合并后,merged_df
中除了包含 value
列,还增加了 value2
列。
如果你想保留 df1
中的所有行,包括没有匹配到 df2
中的行。那么,可以将 how
参数设置为 left
,如下所示:
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'F', 'G'], 'value2': [5, 6, 7, 8]})
# 合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='key', how='left')
# 输出合并后的 DataFrame
print(merged_df)
输出结果如下:
key value value2
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
可以看到,经过左连接后,merged_df
中保留了 df1
中的所有行,并且在没有匹配到 df2
的行上增加了 NaN
值。
此外,还可以根据需求设置 how
参数的取值,比如 how='right'
表示右连接,how='outer'
表示外连接。
总之,通过 merge()
函数,我们可以轻松地将一个 DataFrame 的列添加到另一个 DataFrame 中。