LeetCode-2888. 重塑資料:連結

XiSoil發表於2024-05-31
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,則不復制資料,否則會複製資料。

相關文章