You can convert Pandas DataFrame into a list in Python using tolist():
df.values.tolist()
In this short guide, you’ll see an example of converting Pandas DataFrame into a list.
Example of Converting Pandas DataFrame into a List
Let’s say that you have the following data about products and prices:
product | price |
Tablet | 250 |
Printer | 100 |
Laptop | 1200 |
Monitor | 300 |
You then decided to capture that data in Python using Pandas DataFrame. At a certain point, you realized that you’d like to convert that Pandas DataFrame into a list.
To accomplish this goal, you may use the following Python code to convert the DataFrame into a list, where:
- The top part of the code, contains the syntax to create a DataFrame with the above data
- The bottom part of the code converts the DataFrame into a list using: df.values.tolist()
Here is the full Python code:
import pandas as pd data = {'product': ['Tablet', 'Printer', 'Laptop', 'Monitor'], 'price': [250, 100, 1200, 300] } df = pd.DataFrame(data) products_list = df.values.tolist() print(products_list)
And once you run the code, you’ll get the following multi-dimensional list (i.e., list of lists):
[['Tablet', 250], ['Printer', 100], ['Laptop', 1200], ['Monitor', 300]]
Optionally, you may further confirm that you got a list by adding print(type(products_list)) at the bottom of the code:
import pandas as pd data = {'product': ['Tablet', 'Printer', 'Laptop', 'Monitor'], 'price': [250, 100, 1200, 300] } df = pd.DataFrame(data) products_list = df.values.tolist() print(products_list) print(type(products_list))
As you can see, the original DataFrame was indeed converted into a list (as highlighted in yellow):
[['Tablet', 250], ['Printer', 100], ['Laptop', 1200], ['Monitor', 300]]
<class 'list'>
Convert an Individual Column in the DataFrame into a List
Let’s say that you’d like to convert the ‘product‘ column into a list.
You can then use the following template in order to convert an individual column in the DataFrame into a list:
df['column_name'].values.tolist()
Here is the complete Python code to convert the ‘product‘ column into a list:
import pandas as pd data = {'product': ['Tablet', 'Printer', 'Laptop', 'Monitor'], 'price': [250, 100, 1200, 300] } df = pd.DataFrame(data) product = df['product'].values.tolist() print(product)
Run the code, and you’ll get the following list:
['Tablet', 'Printer', 'Laptop', 'Monitor']
What if you want to append an additional item (e.g., Keyboard) into the ‘product’ list?
In that case, simply add the following syntax:
product.append('Keyboard')
So the complete Python code would look like this:
import pandas as pd data = {'product': ['Tablet', 'Printer', 'Laptop', 'Monitor'], 'price': [250, 100, 1200, 300] } df = pd.DataFrame(data) product = df['product'].values.tolist() product.append('Keyboard') print(product)
You’ll now see the ‘Keyboard’ at the end of the list:
['Tablet', 'Printer', 'Laptop', 'Monitor', 'Keyboard']
An Opposite Scenario
Sometimes, you may face an opposite situation, where you’ll need to convert a list to a DataFrame. If that’s the case, you may want to check the following guide that explains how to convert a list to a DataFrame in Python.