python – Get list from pandas dataframe column or row?

python – 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 pd

data_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(fDataFrame:n{df}n)
print(fcolumn types:n{df.dtypes})

col_one_list = df[one].tolist()

col_one_arr = df[one].to_numpy()

print(fncol_one_list:n{col_one_list}ntype:{type(col_one_list)})
print(fncol_one_arr:n{col_one_arr}ntype:{type(col_one_arr)})

Output:

DataFrame:
   one  two
a  1.0    1
b  2.0    2
c  3.0    3
d  NaN    4

column types:
one    float64
two      int64
dtype: object

col_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)

python – Get list from pandas dataframe column or row?

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   2
0  10  20  30
1  20  30  60
2  30  60  90

Convert one Panda column to list

pdToList = list(dataPd[2])

Leave a Reply

Your email address will not be published.