Open In App

Converting Series of lists to one Series in Pandas

Last Updated : 01 Oct, 2021
Improve
Improve
Like Article
Like
Save
Share
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: 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments