How to combine two DataFrame together either by rows or columns with Pandas using Python

1 min

Data aggregation is one huge Data Scientist job. More times than I can remember, I ended up with multiple files that I had to aggregate.

Aggregation can be very helpful when you want to compare results against a certain variable. (e.g. Sales per month over a few years but you only have yearly sales reports).

Enough talking

Here is the code

How to combine by rows

# Append two dataframes (add the rows of a dataframe to another one)
# To work with dataframes
import pandas as pd

# We create a sample dataframe
df_year_2020 = pd.DataFrame({"Country" : ["Germany", "USA", "France"],
                             "Temperatures" : [3332000000, 
                             			       20839000000,
                                               2603000000],
                             "Year" : [2020, 2020, 2020]})

# We create a second sample dataframe
df_year_2021 = pd.DataFrame({"Country" : ["Germany", "USA", "France"],
                             "Temperatures" : [4218000000, 
                             				   22939000000,
                                               2785210000],
                             "Year" : [2021, 2021, 2021]})

# We append the two dataframes using the concat method
df_combined_rows = pd.concat([df_year_2020, 
 							  df_year_2021])
How to combine two DataFrame together by rows

How to combine by columns

# Append two dataframes (add the columns of a dataframe to another one)
# To work with dataframes
import pandas as pd

# We create a sample dataframe
df_student_part_1 = pd.DataFrame({"Student" : ["Albert", 
											   "Francesca", 
                                               "Pierre"],
                                  "Age" : [23, 21, 25]})

# We create a second sample dataframe
df_student_part_2 = pd.DataFrame({"Location" : ["Germany", 
												"USA",
                                                "France"],
                             	  "Grade" : [15, 19, 17]})

# We append the two dataframes using the concat method and we specify the axis columns (axis=1)
df_combined_cols = pd.concat([df_student_part_1, 
						      df_student_part_2], 
                              axis=1)
How to combine two DataFrame together by cols

Here you are! You now know how to combine two DataFrame together either by rows or columns.

More on DataFrames

If you want to know more about DataFrame and Pandas. Check out the other articles I wrote on the topic, just here :

Pandas - The Python You Need
We gathered the only Python essentials that you will probably ever need.