Add a New Column to Existing DataFrame With Default Value in Pandas

  1. pandas.DataFrame.assign() to Add a New Column in Pandas DataFrame
  2. Access the New Column to Set It With a Default Value
  3. pandas.DataFrame.insert() to Add a New Column in Pandas DataFrame

We could use assign() and insert() methods of DataFrame objects to add a new column to the existing DataFrame with default values. We can also directly assign a default value to the column of DataFrame to be created.

We will use the below dataframe as an example in the following sections.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

print(df)

Output:

       Date   Fruit  Price
0  April-10   Apple      3
1  April-11  Papaya      1
2  April-12  Banana      2
3  April-13   Mango      4

pandas.DataFrame.assign() to Add a New Column in Pandas DataFrame

We can use pandas.DataFrame.assign() method to add a new column to the existing DataFrame and assign the newly created DataFrame column with default values.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

new_df=df.assign(Profit=6)
print(new_df)

Output:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       6
1  April-11  Papaya      1       6
2  April-12  Banana      2       6
3  April-13   Mango      4       6

The code creates a new column Profit in the DataFrame and sets the entire column’s values to be 6.

Access the New Column to Set It With a Default Value

We can use DataFrame indexing to create a new column in DataFrame and set it to default values.

Syntax:

df[col_name]=value

It creates a new column col_name in DataFrame df and sets the default value for the entire column to value.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

df['Profit']=5
print(df)

Output:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       5
1  April-11  Papaya      1       5
2  April-12  Banana      2       5
3  April-13   Mango      4       5

pandas.DataFrame.insert() to Add a New Column in Pandas DataFrame

pandas.DataFrame.insert() allows us to insert a column in a DataFrame at specified location.

Syntax:

DataFrame.insert(loc, column, value, allow_duplicates=False)

It creates a new column with the name column at location loc with default value value. allow_duplicates=False ensures there is only one column with the name column in the dataFrame.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

df.insert(2, "profit", 4, allow_duplicates=False)
print(df

Output:

       Date   Fruit  profit  Price
0  April-10   Apple       4      3
1  April-11  Papaya       4      1
2  April-12  Banana       4      2
3  April-13   Mango       4      4

Here, a column with the name profit is inserted at index 2 with the default value 4.

Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.

Related Article - Pandas DataFrame Column

  • Convert Pandas DataFrame Column to List
  • Pandas Create Column Based on Other Columns
  • Related Article - Pandas DataFrame

  • Filter Dataframe Rows Based on Column Values in Pandas
  • Write a Pandas DataFrame to CSV