Pandas 如何合并两个DataFrame

Pandas 如何合并两个DataFrame

要将一个DataFrame的行追加到另一个DataFrame的行,我们可以使用Pandas的append()函数。借助于append()方法,我们还可以追加列。让我们通过一个例子来看看如何使用这个方法。

步骤

  • 创建一个两维的、可变大小的、可能异构的表格数据df1。
  • 打印输入的DataFrame df1。
  • 创建另一个DataFrame df2,具有相同的列名,并打印它。
  • 使用append方法df1.append(df2, ignore_index=True)来追加df2的行到df1中。
  • 打印结果DataFrame。

示例

import pandas as pd

df1 = pd.DataFrame({"x": [5, 2], "y": [4, 7], "z": [9, 3]})
df2 = pd.DataFrame({"x": [1, 3], "y": [1, 9], "z": [29, 30]})

print "Input DataFrame 1 is:\n", df1
print "Input DataFrame 2 is:\n", df2

df3 = df1.append(df2, ignore_index=True)

print "After appending, DataFrame is: \n", df3

输出

Input DataFrame 1 is:
  x y z
0 5 4 9
1 2 7 3

Input DataFrame 2 is:
  x y  z
0 1 1 29
1 3 9 30

After appending, DataFrame is:
  x y z
0 5 4 9
1 2 7 3
2 1 1 29
3 3 9 30

现在,让我们为数据框使用不同的列名,并在使用append()函数时不使用ignore_index参数。ignore_index的默认值为False。

import pandas as pd

df1 = pd.DataFrame({"x": [5, 2], "y": [4, 7], "z": [9, 3]})
df2 = pd.DataFrame({"a": [1, 3], "b": [1, 9], "c": [29, 30]})


print "Input DataFrame 1 is:\n", df1 
print "Input DataFrame 2 is:\n", df2 


df3 = df1.append(df2)


print "After appending, DataFrame is: \n", df3

现在,它将产生以下输出

Input DataFrame 1 is:
  x y z
0 5 4 9
1 2 7 3

Input DataFrame 2 is:
  a b  c
0 1 1 29
1 3 9 30

After appending, DataFrame is:
  x     y    z    a    b    c
0 5.0  4.0  9.0  NaN  NaN  NaN
1 2.0  7.0  3.0  NaN  NaN  NaN
0 NaN  NaN  NaN  1.0  1.0  29.0
1 NaN  NaN  NaN  3.0  9.0  30.0

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程