Pandas – How to Merge Series into DataFrame

Let’s say you already have a pandas DataFrame with few columns and you would like to add/merge Series as columns into existing DataFrame, this is certainly possible using pandas.Dataframe.merge() method.

I will explain with the examples in this article. first create a sample DataFrame and a few Series. You can also try by combining Multiple Series to create DataFrame.

import pandas as pd

technologies = ({
    'Fee' :[22000,25000,23000]
df = pd.DataFrame(technologies)

# Create Series
discount  = pd.Series([1000,2300,1000], name='Discount')

1. Merge Series into pandas DataFrame

Now let’s say you wanted to merge by adding Series object discount to DataFrame df.

# Merge Series into DataFrame
df2=df.merge(discount,left_index=True, right_index=True)

Yields below output. It merges the Series with DataFrame on index.

   Courses    Fee  Discount
0    Spark  22000      1000
1  PySpark  25000      2300
2   Hadoop  23000      1000

This also works if your rows are in different order, but in this case you should have custom indexes. I will leave this to you to explore.

# Rename Series before Merge
             left_index=True, right_index=True)

Yields below output

   Courses    Fee  Course_Discount
0    Spark  22000             1000
1  PySpark  25000             2300
2   Hadoop  23000             1000

2. Using Series.to_frame() & DataFrame.merge() Methods

You can also create a DataFrame from Series using Series.to_frame() and use it with DataFrame to merge.

# Merge by creating DataFrame from Series
df2=df.merge(discount.to_frame(), left_index=True, right_index=True)

Yields same output as in first example.


In this article I have explained how to merge/add series objects to existing pandas DataFrame as columns by using merge() method. also covered by creating a DataFrame from series using to_frame() and using on merge() method.

Happy Learning

You May Also Like


NNK is a Big Data and Spark examples community page, all examples are simple and easy to understand and well tested in our development environment Read more ..

Leave a Reply