How to use Pandas.DataFrame.assign(**kwargs) In Python Pandas
It Assigns new columns to a DataFrame and returns a new object with all existing columns to new ones. Existing columns that are re-assigned will be overwritten.
Syntax: Pandas.DataFrame.assign(**kwargs)
Parameters : **kwargsdict of {str: callable or Series}
Returns : DataFrame
Let’s understand with examples:
First, create a simple DataFrame.
Python3
# importing pandas as pd import pandas as pd # creating the dataframe df = pd.DataFrame({ "Name" : [ 'Anurag' , 'Manjeet' , 'Shubham' , 'Saurabh' , 'Ujjawal' ], "Address" : [ 'Patna' , 'Delhi' , 'Coimbatore' , 'Greater noida' , 'Patna' ], "ID" : [ 20123 , 20124 , 20145 , 20146 , 20147 ], "Sell" : [ 140000 , 300000 , 600000 , 200000 , 600000 ]}) print ( "Original DataFrame :" ) display(df) |
Output:
Add a new column:
Python3
new_df = df.assign(profit = [ 40000 , 20000 , 30000 , 60000 , 200000 ]) new_df |
Output:
Add a new column with Default Value:
Python3
new_df = df.assign(profit = 'NAN' ) new_df |
Output:
Add Column to Pandas DataFrame with a Default Value
The three ways to add a column to Pandas DataFrame with Default Value.
- Using pandas.DataFrame.assign(**kwargs)
- Using [] operator
- Using pandas.DataFrame.insert()