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'])