Chopin
Chopin

Reputation: 214

Append columns from a DataFrame to a list

Is it possible to append columns from a dataframe into an empty list?

Example of a random df is produced:

df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))

The output is:

    A   B   C   D
0  25  27  34  77
1  85  62  39  49
2  90  51   2  97
3  39  19  86  59
4  33  79  64  73
5  36  66  29  78
6  22  27  84  41
7   0  26  22  22
8  44  57  29  37
9   0  31  96  90

If I had an empty list or lists, could you append the columns by each row? So A,C to a list and B,Dto a list. An example output would be:

empty_list = [[],[]]

empty_list[0] = [[25,34],
                 [85,39]
                 [90,2]
                 [39,86] 
                 [33,64]
                 [36,29]
                 [22,84]
                 [0,22]
                 [44,29]
                 [0,96]]

Or would you have to go through and convert each column to a list with df['A'].tolist() and then go through an append by row?

Upvotes: 0

Views: 62

Answers (1)

Sruthi
Sruthi

Reputation: 3018

Try this

    d=df[['A','C']]
    d.values.tolist()

    Output
    [[0, 93], [58, 14], [79, 18], [40, 26], [91, 14], [25, 18], [22, 25], [35, 99], [12, 82], [48, 72]]

So the solution would be :

empty_list = [[],[]]
empty_list[0]=df[['A','C']].values.tolist()
empty_list[1]=df[['B','D']].values.tolist()

My df was :

df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
df
    A   B   C   D
0   0  60  93  94
1  58  52  14  33
2  79  84  18   1
3  40  21  26  32
4  91  19  14   8
5  25  34  18  68
6  22  37  25  10
7  35  58  99  80
8  12  38  82   8
9  48  56  72  66

Upvotes: 2

Related Questions