How to append a list to pandas column, series?

21,460

Solution 1

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

Solution 2

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

Solution 3

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)
Share:
21,460
callmeGuy
Author by

callmeGuy

Updated on July 09, 2022

Comments

  • callmeGuy
    callmeGuy almost 2 years

    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