- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to unnest (explode) a row in a pandas series?
If some of the elements in the series object have lists, then we can unnest those list elements into multiple rows of the series object. Unnesting is nothing but exploding the lists into rows.
So this transformation can be done easily with the help of the pandas series.explode() method. This method is used to transform list-like elements of a series object into rows, and the index will be duplicated for these rows.
The ignore_index is the only parameter for this method and it takes boolean values, False is the default one, and True means the resulting index will be labeled from 0 to n - 1.
Example 1
In the following example, we will see how the series.explode() method transforms the list-like elements of the series object into rows.
# importing pandas package import pandas as pd # create a nested list L = [1, 2, [4, 8, 9, 2], [], ["a", "b", "c"]] # Create a pandas series using the list series = pd.Series(L) # unnest the series using explode() method result = series.explode() print("Original Series:") print(series) print("Result:", result)
Explanation
Here we have created a series object with a python nested list and then applied the explode() method.
Output
The output is given below −
Original Series: 0 1 1 2 2 [4, 8, 9, 2] 3 [] 4 [a, b, c] dtype: object Result: 0 1 1 2 2 4 2 8 2 9 2 2 3 Nan 4 a 4 b 4 c dtype: object
In the above output block, we can notice that the elements 4, 8, 9, 2 are transformed into new rows of the resultant series object. Moreover, there is an empty list-like element at index position 3 and the resultant row will have np.nan for that position 3.
Example 2
In the following example, we will see how the series.explode() method transforms the elements like list, tuple objects of the series into rows.
# importing pandas package import pandas as pd # Create a pandas series series = pd.Series([(0, 1, 2,), list("xyz"), (5, 6, 7)]) # unnest the series using explode() method result = series.explode() print("Original Series:") print(series) print("Result:", result)
Explanation
Initially, we created a series object with a python list of 3 elements (tuple, list) and then applied the explode() method.
Output
The output is given below −
Original Series: 0 (0, 1, 2) 1 [x, y, z] 2 (5, 6, 7) dtype: object Result: 0 0 0 1 0 2 1 x 1 y 1 z 2 5 2 6 2 7 dtype: object
In the above output block, we can notice that the elements of series objects are successfully transformed into new rows of the resultant series object.
- Related Articles
- How to remove a specified row From the Pandas Series Using Drop() method?
- How to sort a Pandas Series?
- How to append a pandas Series object to another Series in Python?
- How to get nth row in a Pandas DataFrame?
- How to append elements to a Pandas series?
- How to add header row to a Pandas Dataframe?
- How to remove NaN from a Pandas Series?
- Python Pandas - How to delete a row from a DataFrame
- How to prefix string to a pandas series labels?
- How to get few rows from a Series in Pandas?
- How to display most frequent value in a Pandas series?
- How to append a list as a row to a Pandas DataFrame in Python?
- How to create a Pandas series from a python dictionary?
- How to create a series from a list using Pandas?
- How to plot a bar graph in Matplotlib from a Pandas series?
