Home » How to Convert Pandas DataFrame Row to List (With Example)

How to Convert Pandas DataFrame Row to List (With Example)

by Tutor Aspire

You can use the following basic syntax to convert a row in a pandas DataFrame to a list:

row_list = df.loc[2, :].values.flatten().tolist()

This particular syntax converts the values in row index position 2 of the DataFrame into a list.

The following example shows how to use this syntax in practice.

Example: Convert Pandas DataFrame Row to List

Suppose we have the following pandas DataFrame that contains information about various basketball players:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6
5    F      11        9         5
6    G      20        9         9
7    H      28        4        12

We can use the following syntax to convert the values in row index position 2 to a list:

#convert row at index 2 to list
row_list = df.loc[2, :].values.flatten().tolist()

#view results
print(row_list)

['C', 19, 7, 10]

We can see that the values in row index position 2 have been converted to a list with four values.

We can confirm that the result is indeed a list by using the type() function:

#view type
print(type(row_list))

If you only want the values from specific columns to be included in the list, you can specify the columns by name.

For example, we can use the following syntax to convert the values in row index position 2 to a list for the team and points columns only:

#convert values in row index position 2 to list (for team and points columns)
row_list = df.loc[2, ['team', 'points']].values.flatten().tolist()

#view results
print(row_list)

['C', 19]

Notice that only the values in the team and points columns have been included in the list.

Additional Resources

The following tutorials explain how to perform other common tasks in pandas:

How to Convert Specific Columns in Pandas to NumPy Array
How to Convert List to a Column in Pandas
How to Add a Total Row to Pandas DataFrame

You may also like