如何在Pandas中合并两个DataFrames?

如何在Pandas中合并两个DataFrames?

要将一个数据框的行附加到另一个数据框的行中,可以使用Pandas的append()函数。通过append()函数,我们还可以添加列。让我们拿一个例子看看如何使用这种方法。

步骤

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

更多Pandas文章,请阅读:Pandas教程

示例

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 "输入的DataFrame 1是:\n", df1
print "输入的DataFrame 2是:\n", df2

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

print "附加后,DataFrame是:\n", df3

输出

输入的DataFrame 1是:
  x y z
0 5 4 9
1 2 7 3

输入的DataFrame 2是:
  x y  z
0 1 1 29
1 3 9 30

附加后,DataFrame是:
  x y z
0 5 4 9
1 2 7 3
2 1 1 29
3 3 9 30

现在,让我们为数据框使用不同的列名,并在不使用ignore_index参数的情况下使用append()函数。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 "输入的DataFrame 1是:\n", df1 
print "输入的DataFrame 2是:\n", df2 

df3 = df1.append(df2)

print "附加后,DataFrame是:\n", df3 

现在,它将产生以下输出:

输入的DataFrame 1是:
  x y z
0 5 4 9
1 2 7 3

输入的DataFrame 2是:
  a b  c
0 1 1 29
1 3 9 30

附加后,DataFrame是:
  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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程