📅  最后修改于: 2023-12-03 14:49:22.454000             🧑  作者: Mango
在 Pandas 中,我们可以从另一个 DataFrame(即包含新列数据的 DataFrame)向现有 DataFrame 添加列。我们需要使用 merge
或 join
函数来将两个 DataFrame 合并为一个 DataFrame。
下面是一个示例代码,其中我们从 df2
DataFrame 添加新列到 df1
DataFrame 中:
import pandas as pd
# 创建 df1 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6]})
# 创建 df2 DataFrame
df2 = pd.DataFrame({'C': [7, 8, 9],
'D': [10, 11, 12]})
# 使用 merge 函数将两个 DataFrame 合并为一个 DataFrame
df = pd.merge(df1, df2, left_index=True, right_index=True)
# 打印合并后的 DataFrame
print(df)
输出:
A B C D
0 1 4 7 10
1 2 5 8 11
2 3 6 9 12
在上面的示例中,我们使用 merge
函数将 df1
和 df2
合并为一个 DataFrame,并通过 left_index=True, right_index=True
参数指定将两个 DataFrame 的行索引作为连接键。这将为我们提供一个新的 DataFrame,其中包含来自两个 DataFrame 的所有列。
接下来,我们可以根据需要选择在新 DataFrame 中保留的列。例如,如果我们只需要 df1
DataFrame 的列和 df2
DataFrame 的列 C
,我们可以使用以下代码:
# 创建 df1 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6]})
# 创建 df2 DataFrame
df2 = pd.DataFrame({'C': [7, 8, 9],
'D': [10, 11, 12]})
# 使用 merge 函数将两个 DataFrame 合并为一个 DataFrame
df = pd.merge(df1, df2[['C']], left_index=True, right_index=True)
# 打印所需列的 DataFrame
print(df)
输出:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
上面的代码示例演示了如何获取来自另一个 DataFrame 的列并将其添加到现有 DataFrame 中。我们使用了 merge
函数和 left_index=True, right_index=True
参数将两个 DataFrame 合并,并保留了所需的列。