How to Create a New DataFrame from a Mix of Existing Rows in Python

What will you learn?

In this tutorial, you will learn how to effectively combine rows from different dataframes to create a new dataframe in Python using the Pandas library. This skill is essential for manipulating and organizing tabular data efficiently.

Introduction to the Problem and Solution

When working with multiple datasets, there arises a need to merge or concatenate rows from different dataframes to form a consolidated dataframe. The Pandas library in Python provides powerful functions like pd.concat() that allow us to achieve this seamlessly. By understanding how to merge rows based on specific requirements, you can create structured and organized datasets for analysis and visualization.


import pandas as pd

# Create two sample dataframes
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})

# Concatenate the two dataframes row-wise to create a new dataframe
new_df = pd.concat([df1, df2])

# Display the new dataframe

# Reset index if needed
new_df.reset_index(drop=True, inplace=True)

# Copyright PHD


To combine rows from different dataframes into a single dataframe, we utilized the pd.concat() function provided by the Pandas library. By passing our individual dataframes (df1 and df2) as arguments inside a list, we performed row-wise concatenation to create new_df. The resulting combined dataframe was then displayed using print(new_df). Additionally, we reset the index of the new dataframe for better organization.

    1. How can I merge multiple dataframes with different columns? To merge DataFrames with varying columns but common indexes or column names, consider using functions like merge() for more flexibility.

    2. Can I combine only specific columns from multiple dataframes? Yes, you can select particular columns from each DataFrame before concatenating them by referencing their column names or indices.

    3. Is there any difference between concat() and append() methods in Pandas for combining DataFrames? While concat() allows combining along both axes (rows and columns), append() method specifically combines along axis=0 (rows).

    4. How do I handle duplicate indexes when concatenating DataFrames? You can manage duplicate indexes during concatenation by adjusting parameters like ignore_index in the concat() function accordingly.

    5. Can I concatenate more than two dataframes at once? Yes, you can concatenate multiple DataFrames simultaneously by passing them as elements inside the list provided as an argument to concat().

    6. What happens if column names do not exactly match in concatenated dataframes? The resulting DataFrame will contain all distinct column names across input frames; unmatched columns will have NaN values.

    7. How does reset_index() function work after concatenating frames? reset_index() reassigns numerical sequential indexes starting from zero post any operation altering original indexes like merging datasets.

    8. Can I concatenate vertically (column-wise) instead of horizontally (row-wise)? By adjusting the axis parameter of concat(), you can perform vertical concatenation (axis=1) side-by-side instead of stacking them atop each other horizontally.


In conclusion, this guide has equipped you with the knowledge of creating a new Pandas DataFrame by merging rows from existing ones efficiently using Python’s Pandas library functions. Mastering these techniques empowers you to manipulate and structure tabular data effectively within your projects.

Leave a Comment