Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to append a list to pandas column, series?

Asume that I have the following dataframe:

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

I would like to extend col1 with array xtra. However this errors out.

xtra = [3,4]
df['col1'].append(xtra)

How can I append xtra to df.col1, so that the final otuput would looks as so?

   col1  col2
0     1     3
1     2     4
2     3     nan
3     4     nan
like image 840
callmeGuy Avatar asked May 14 '19 09:05

callmeGuy


3 Answers

just copy the same format you used (dict) to make a dataframe like so:

import pandas as pd

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

xtra = {'col1': [3,4]}

df = df.append(pd.DataFrame(xtra))
like image 81
zero Avatar answered Oct 16 '22 01:10

zero


Use pd.DataFrame and DataFrame.append:

df = df.append(pd.DataFrame(xtra, columns=['col1']), ignore_index=True)

print(df)
  col1  col2
0     1   3.0
1     2   4.0
2     3   NaN
3     4   NaN
like image 32
Space Impact Avatar answered Oct 16 '22 00:10

Space Impact


You can also add those rows without creating annother Dataframe by iterating on xtra:

for val in xtra:
    df = df.append({'col1' : val}, ignore_index=True)
like image 39
vlemaistre Avatar answered Oct 16 '22 01:10

vlemaistre