Get list from pandas dataframe column or row? Get list from pandas dataframe column or row? pandas pandas

Get list from pandas dataframe column or row?


Pandas DataFrame columns are Pandas Series when you pull them out, which you can then call x.tolist() on to turn them into a Python list. Alternatively you cast it with list(x).

import pandas as pddata_dict = {'one': pd.Series([1, 2, 3], index=['a', 'b', 'c']),             'two': pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}df = pd.DataFrame(data_dict)print(f"DataFrame:\n{df}\n")print(f"column types:\n{df.dtypes}")col_one_list = df['one'].tolist()col_one_arr = df['one'].to_numpy()print(f"\ncol_one_list:\n{col_one_list}\ntype:{type(col_one_list)}")print(f"\ncol_one_arr:\n{col_one_arr}\ntype:{type(col_one_arr)}")

Output:

DataFrame:   one  twoa  1.0    1b  2.0    2c  3.0    3d  NaN    4column types:one    float64two      int64dtype: objectcol_one_list:[1.0, 2.0, 3.0, nan]type:<class 'list'>col_one_arr:[ 1.  2.  3. nan]type:<class 'numpy.ndarray'>


This returns a numpy array:

arr = df["cluster"].to_numpy()

This returns a numpy array of unique values:

unique_arr = df["cluster"].unique()

You can also use numpy to get the unique values, although there are differences between the two methods:

arr = df["cluster"].to_numpy()unique_arr = np.unique(arr)


Example conversion:

Numpy Array -> Panda Data Frame -> List from one Panda Column

Numpy Array

data = np.array([[10,20,30], [20,30,60], [30,60,90]])

Convert numpy array into Panda data frame

dataPd = pd.DataFrame(data = data)    print(dataPd)0   1   20  10  20  301  20  30  602  30  60  90

Convert one Panda column to list

pdToList = list(dataPd['2'])