Concatenate Two DataFrames Vertically  
Intuition
The goal is to combine df1 and df2 vertically (row-wise) to create a single DataFrame.
Pandas provides a simple and efficient method using pd.concat()

## **Intuition**  
- The goal is to combine **df1** and **df2** vertically (row-wise) to create a single DataFrame.  
- Pandas provides a simple and efficient method using `pd.concat()` to achieve this.  
- The column names should match for a clean concatenation.

---

## **Approach**  
1. **Use `pd.concat()`**:  
    - Pass both DataFrames as a list to `pd.concat()` with `axis=0` to stack them vertically.  
2. **Reset Index (Optional)**:  
    - If necessary, use `.reset_index(drop=True)` to reset the index and avoid duplicates.


---

## **Complexity**  
- **Time Complexity:**  
  - \( O(n + m) \) → Where \( n \) is the size of **df1** and \( m \) is the size of **df2**.  
- **Space Complexity:**  
  - \( O(n + m) \) → A new DataFrame is created.  

---

## **Other Methods**  
1. **Using `append()` (Deprecated)**  
```python
result_df = df1.append(df2, ignore_index=True)
```
- **Time Complexity:** \( O(n + m) \)  
- **Space Complexity:** \( O(n + m) \)  
- **Note:** `.append()` is deprecated in favor of `pd.concat()`.  

Using `pd.concat()` is the most efficient and recommended way to concatenate DataFrames.

---

# Code
```pythondata []
import pandas as pd

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


    
```
['Pandas']