16

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
callmeGuy
  • 944
  • 2
  • 11
  • 28

3 Answers3

14

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))
zero
  • 1,605
  • 3
  • 15
  • 24
7

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
Space Impact
  • 13,085
  • 23
  • 48
2

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)
vlemaistre
  • 3,301
  • 13
  • 30