Skip to content

Latest commit

 

History

History
82 lines (72 loc) · 1.98 KB

2888_reshape_data_concatenate.md

File metadata and controls

82 lines (72 loc) · 1.98 KB

DataFrame df1

+-------------+--------+
| Column Name | Type   |
+-------------+--------+
| student_id  | int    |
| name        | object |
| age         | int    |
+-------------+--------+

DataFrame df2

+-------------+--------+
| Column Name | Type   |
+-------------+--------+
| student_id  | int    |
| name        | object |
| age         | int    |
+-------------+--------+

Write a solution to concatenate these two DataFrames vertically into one DataFrame.

The result format is in the following example.

Example 1:

Input:
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   |
+------------+------+-----+
Output:
+------------+---------+-----+
| student_id | name    | age |
+------------+---------+-----+
| 1          | Mason   | 8   |
| 2          | Ava     | 6   |
| 3          | Taylor  | 15  |
| 4          | Georgia | 17  |
| 5          | Leo     | 7   |
| 6          | Alex    | 7   |
+------------+---------+-----+
Explanation:
The two DataFramess are stacked vertically, and their rows are combined.

Solution

import pandas as pd


def concatenateTables(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame:
    return pd.concat([df1, df2])


if __name__  == '__main__':
    data1 = [[1, 'Mason', 8],
             [2, 'Ava', 6],
             [3, 'Taylor', 15],
             [4, 'Georgia', 17]]

    data2 = [[5, 'Leo', 7],
             [6, 'Alex', 7]]

    df1 = pd.DataFrame(data1, columns=['student_id', 'name', 'age'])
    df2 = pd.DataFrame(data2, columns=['student_id', 'name', 'age'])
    print(concatenateTables(df1, df2))