Open In App
Related Articles

Converting Series of lists to one Series in Pandas

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

Let us see how to convert a Series of lists to a single Series in Pandas.

First of all let us create a Series of lists. For this problem we have created a Series of list having 12 elements, each list is of length 3 and there are 4 lists hence total elements are 12. When the Series of list will be converted to one it will have 12 elements.

Python3

import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [5, 6, 7], [9, 1, 2]]
 
s = pd.Series(data)
print(s)

                    

Output:

Method 1: Using the extend() method

In this method, we iterate over each element of the Series and add it to a list, note that we are using the extend() method.

Python3

ls = []
 
for i in s:
    ls.extend(i)
 
s1 = pd.Series(ls)
print(s1)

                    

Output: 

Method 2 : Using pd.concat() method

We iterate through each list in the series and convert it to Series object then we concatenate all the series along the rows to form the final Series. We also need to reset the index. 

Python3

ls = []
for i in s:
    ls.append(pd.Series(i))
 
s1 = pd.concat([*ls]).reset_index(drop = True)
 
print(s1)

                    

Output:

Method 3: Using the apply() method. 

The Series object has an apply() method which takes in a function as an argument and applies it to every element. We then stack all the elements and reset the index .

Python3

s1 = s.apply(pd.Series).stack().reset_index(drop = True)
print(s1)

                    

Output: 



Last Updated : 01 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads