callmeGuy
callmeGuy

Reputation: 1034

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

Upvotes: 17

Views: 43776

Answers (3)

vlemaistre
vlemaistre

Reputation: 3331

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)

Upvotes: 2

Space Impact
Space Impact

Reputation: 13255

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

Upvotes: 7

zero
zero

Reputation: 1725

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

Upvotes: 14

Related Questions