如何在 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
廣告