如何在 Pandas 中附加两个 DataFrame?
若要将一个 DataFrame 的行附加到另一个 DataFrame 的行,我们可以使用 Pandas append() 函数。借助 append(),我们也可以附加列。我们举一个例子,看看如何使用此方法。
步骤
- 创建一个二维、大小可变、潜在异构表格数据 df1。
- 打印输入 DataFrame,df1。
- 创建另一个具有相同列名的 DataFrame,df2,并打印它。
- 使用附加方法 df1.append(df2, ignore_index=True) 将 df2 的行附加到 df2。
- 打印结果 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
接下来,我们针对 DataFrame 使用不同的列名,并在不使用 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 "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
广告