📜  如何从 Pandas 中的另一个 DataFrame 添加列?

📅  最后修改于: 2022-05-13 01:54:41.444000             🧑  作者: Mango

如何从 Pandas 中的另一个 DataFrame 添加列?

在本文中,我们将讨论如何在 Pandas 中添加来自另一个 DataFrame 的列。

方法一:使用join()

使用这种方法,要添加到第二个数据框中的列首先使用其名称从第一个中提取。这里提取的列已分配给一个变量。

提取后,需要使用 join()函数将该列简单地添加到第二个数据帧中。



需要参考必须添加列的数据帧来调用此函数,并且必须将存储提取的列名的变量名称作为参数传递给它。因此,该列将添加到第二个数据帧的末尾,其名称与前一个数据帧中的名称相同。

例子:

Python3
import pandas as pd
  
  
df1 = pd.DataFrame({"Col1": [1, 2, 3], 
                    "Col2": ["A", "B", "C"],
                    "Col3": ["geeks", "for", "geeks"]})
  
print("First dataframe:")
display(df1)
  
df2 = pd.DataFrame({"C1": [4, 5, 6],
                    "C2": ["D", "E", "F"]})
  
print("Second dataframe:")
display(df2)
  
extracted_col = df1["Col3"]
print("column to added from first dataframe to second:")
display(extracted_col)
  
df2 = df2.join(extracted_col)
print("Second dataframe after adding column from first dataframe:")
display(df2)


Python3
import pandas as pd
  
  
df1 = pd.DataFrame({"Col1": [1, 2, 3],
                    "Col2": ["A", "B", "C"],
                    "Col3": ["geeks", "for", "geeks"]})
print("First dataframe:")
display(df1)
  
df2 = pd.DataFrame({"C1": [4, 5, 6],
                    "C2": ["D", "E", "F"]})
print("Second dataframe:")
display(df2)
  
extracted_col = df1["Col3"]
print("column to added from first dataframe to second:")
display(extracted_col)
  
df2.insert(1, "C3", extracted_col)
print("Second dataframe after adding column from first dataframe:")
display(df2)


输出:

方法二:使用insert()

方法与上面相同 - 首先提取要添加的列并将其分配给变量,然后添加到另一个数据帧。这里的不同之处在于,这种方法可以自由地将列放置在任何地方,并在需要时使用不同的列名。



在这里,需要插入列的索引代替位置传递。 new_name 可以替换为列应该重命名的名称,extracted_column 是第一个数据帧中的列。

例子:

蟒蛇3

import pandas as pd
  
  
df1 = pd.DataFrame({"Col1": [1, 2, 3],
                    "Col2": ["A", "B", "C"],
                    "Col3": ["geeks", "for", "geeks"]})
print("First dataframe:")
display(df1)
  
df2 = pd.DataFrame({"C1": [4, 5, 6],
                    "C2": ["D", "E", "F"]})
print("Second dataframe:")
display(df2)
  
extracted_col = df1["Col3"]
print("column to added from first dataframe to second:")
display(extracted_col)
  
df2.insert(1, "C3", extracted_col)
print("Second dataframe after adding column from first dataframe:")
display(df2)

输出: