2888. 重塑資料:連結
DataFrame df1
+-------------+--------+
| Column Name | Type |
+-------------+--------+
| student_id | int |
| name | object |
| age | int |
+-------------+--------+
DataFrame df2
+-------------+--------+
| Column Name | Type |
+-------------+--------+
| student_id | int |
| name | object |
| age | int |
+-------------+--------+
編寫一個解決方案,將兩個 DataFrames 垂直 連線成一個 DataFrame。
結果格式如下示例所示。
示例 1:
輸入:
df1
+------------+---------+-----+
| student_id | name | age |
+------------+---------+-----+
| 1 | Mason | 8 |
| 2 | Ava | 6 |
| 3 | Taylor | 15 |
| 4 | Georgia | 17 |
+------------+---------+-----+
df2
+------------+------+-----+
| student_id | name | age |
+------------+------+-----+
| 5 | Leo | 7 |
| 6 | Alex | 7 |
+------------+------+-----+
輸出:
+------------+---------+-----+
| student_id | name | age |
+------------+---------+-----+
| 1 | Mason | 8 |
| 2 | Ava | 6 |
| 3 | Taylor | 15 |
| 4 | Georgia | 17 |
| 5 | Leo | 7 |
| 6 | Alex | 7 |
+------------+---------+-----+
解釋:
兩個 DataFrame 被垂直堆疊,它們的行被合併。
import pandas as pd def concatenateTables(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame: return pd.concat(objs=[df1, df2], axis=0, join='outer') # pd.concat():pandas 內部的一個方便的函式,用於垂直(按行)或水平(按列)連線 DataFrame。 # objs: 這是要連線的物件,可以是 DataFrame、Series 或者 DataFrame 和 Series 的列表。 # axis: 用於指定沿著哪個軸進行連線。0 表示沿著行的方向進行連線,1 表示沿著列的方向進行連線。 # join: 指定連線的方式,可以是 'inner'(交集)或 'outer'(並集)。 # ignore_index: 如果為 True,則忽略原始索引,並生成一個新的整數索引。 # keys: 建立層次化索引。傳入一個列表或陣列,將根據傳入的鍵在連線軸上建立多層索引。 # levels 和 names: 用於建立分層索引的級別和名稱。 # verify_integrity: 如果為 True,將檢查結果物件是否包含重複索引。如果有重複索引,則會丟擲異常。 # sort: 如果為 True,將對非連線軸上的資料進行排序。 # copy: 如果為 False,則不復制資料,否則會複製資料。