📜  从另一个 df 向 df 添加列 - Python (1)

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

从另一个 df 向 df 添加列 - Python

在 Pandas 中,我们可以从另一个 DataFrame(即包含新列数据的 DataFrame)向现有 DataFrame 添加列。我们需要使用 mergejoin 函数来将两个 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 函数将 df1df2 合并为一个 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 合并,并保留了所需的列。