Built with Tutify.io

    AIStudyLabs

    Pandas Add Constant Column to DataFrame

    Pandas Add Constant Column to DataFrame

    In pandas you can add a new constant column with a literal value to DataFrame using assign() method, this method returns a new Dataframe after adding a column. insert() is also used to update the existing DataFrame with a new constant column. In this article, I will explain several ways of how to add a new column with a constant value to pandas DataFrame with examples.

    Key Points –

    <a id="h-quick-examples-of-add-constant-column-to-pandas-dataframe"></a>

    Quick Examples of Add Constant Column to Pandas DataFrame

    If you are in a hurry, below are some quick examples of how to add a constant column value to Pandas DataFrame.

    
    # Quick examples of add constant column
    
    # Example 1: Adding new column with a constant value
    df["Discount_Percentage"] = 10
    
    # Example 2: Using DataFrame.insert() 
    # To add column constant value 
    df.insert(1, 'Discount_Percentage', '10')
    
    # Example 3: Add a constant number to each column elements
    df['Discount'] = df['Discount'] + 150
    
    # Example 4: Using DataFrame.apply() and lambda function
    df['Discount_Percentage'] = df.apply(lambda x: 10, axis=1)
    
    # Example 5: Using DataFrame.assign() 
    # To add constant column
    df2 = df.assign(Discount_Percentage=10)
    
    # Example 6: Add multiple constant columns
    data = {'Discount_Percentage': 10, 'Advance': 1000}
    df2 = df.assign(**data)
    
    # Example 7: Use a Pandas Series to add a constant column
    df['Discount_Percentage'] = pd.Series([10] * len(df.index))
    
    # Example 8: Using pandas series
    df['Discount_Percentage'] = pd.Series([10 for x in range(len(df.index))])
    

    <a id="h-usage-of-add-constant-column-to-pandas-dataframe"></a>

    Usage of Add Constant Column to Pandas DataFrame

    Adding a constant column to a Pandas DataFrame is a common task when you want to assign a fixed value to all rows in a new column. This is useful for labeling, initializing, or tagging your data.

    Now, let's create a DataFrame with a few rows and columns, execute these examples and validate results. Our DataFrame contains column names Courses, Fee, Duration, and Discount.

    
    # Create Pandas DataFrame
    import pandas as pd
    technologies = {
        'Courses':["Spark","PySpark","Python","pandas"],
        'Fee' :[20000,25000,22000,30000],
        'Duration':['30days','40days','35days','50days'],
        'Discount':[1000,2300,1200,2000]
                  }
    index_labels=['r1','r2','r3','r4']
    df = pd.DataFrame(technologies,index=index_labels)
    print("Create DataFrame:\n",df)
    

    Yields below output.

    <a id="h-pandas-add-column-with-constant-value-to-dataframe"></a>

    Pandas Add Column with Constant Value to DataFrame

    You have an existing DataFrame where you need to add an additional column with the same constant value for every row. df["Discount_Percentage"]=10 will add the "Discount_Percentage" column and set every row with a constant value 10.

    
    # Adding new column with a constant value
    df["Discount_Percentage"] = 10
    print("\nDataFrame after adding Discount_Percentage column:\n", df)
    

    Yields below output.

    The "Discount_Percentage" column has been successfully added with a constant value of 10 for all rows.

    <a id="h-using-dataframe-insert-to-add-column-constant-value"></a>

    Using DataFrame.insert() to Add Column Constant Value

    Alternatively, DataFrame.insert() method is used to add a new column to DataFrame at any position of the existing DataFrame. Using this you can specify the index where you would like to add a column. The below example adds a constant column at the second position (Index 1). Note that in pandas, the Index starts from zero.

    insert() method updates the existing DataFrame object with the new column.

    
    # Using DataFrame.insert() to add column constant value 
    df = pd.DataFrame(technologies,index=index_labels)
    df.insert(1, 'Discount_Percentage', '10')
    print(df)
    

    Yields below output.

    
    # Output:
       Courses Discount_Percentage    Fee Duration  Discount
    0    Spark                  10  20000   30days      1000
    1  PySpark                  10  25000   40days      2300
    2   Python                  10  22000   35days      1200
    3   pandas                  10  30000   50days      2000
    

    In the above example, df.insert(1, "Discount_Percentage", 10) inserts a new column named "Discount_Percentage" with a constant value of 10 at position 1 in the DataFrame.

    <a id="h-add-a-constant-number-to-each-column-elements"></a>

    Add a Constant Number to Each Column Elements

    You can use df['Discount']=df['Discount']+150 method to add 150 to Discount column. Using this approach you can add a value to inter columns or append a constant string to String columns.

    
    # Add a constant number to each column elements
    df = pd.DataFrame(technologies,index=index_labels)
    df['Discount'] = df['Discount'] + 150
    print(df)
    

    Yields below output.

    
    # Output:
        Courses    Fee Duration  Discount
    r1    Spark  20000   30days      1150
    r2  PySpark  25000   40days      2450
    r3   Python  22000   35days      1350
    r4   pandas  30000   50days      2150
    

    <a id="h-using-dataframe-apply-and-lambda-function-to-add-column-constant-value"></a>

    Using DataFrame.apply() and Lambda Function to Add Column Constant Value

    Use DataFrame.apply() and lambda to create Discount_Percentage column with a constant value 10. For instance, the lambda function takes each row (specified by axis=1) and adds the constant value (10) to the 'Discount_Percentage' column for each row. Adjust the constant value or column name as needed for your specific use case.

    
    # Using DataFrame.apply() and lambda function
    df = pd.DataFrame(technologies,index=index_labels)
    df['Discount_Percentage'] = df.apply(lambda x: 10, axis=1)
    print(df)
    

    Yields below output.

    
    # Output:
       Courses    Fee Duration  Discount  Discount_Percentage
    0    Spark  20000   30days      1000                   10
    1  PySpark  25000   40days      2300                   10
    2   Python  22000   35days      1200                   10
    3   pandas  30000   50days      2000                   10
    

    <a id="h-using-dataframe-assign-to-add-constant-column"></a>

    Using DataFrame.assign() to Add Constant Column

    Similarly, DataFrame.assign() is also used to add a constant column to the pandas DataFrame, this method returns a new DataFrame after adding a "Discount_Percentage" column to the existing DataFrame.

    In this example, df.assign(Discount_Percentage=10) creates a new column named 'Discount_Percentage' with a constant value of 10 for all rows in the DataFrame. Adjust the constant value or column name as needed for your specific use case.

    
    # Using DataFrame.assign() to add constant column
    df = pd.DataFrame(technologies,index=index_labels)
    df2 = df.assign(Discount_Percentage=10)
    print(df2)
    

    Yields the same output as above.

    <a id="h-add-multiple-constant-columns-using-dataframe-assign"></a>

    Add Multiple Constant Columns Using DataFrame.assign()

    You can also use DataFrame.assign() method to add multiple constant columns to the pandas DataFrame. If you need to assign multiple columns with different values, you should use assign with a dictionary.

    In the below example, the **data syntax is used to unpack the dictionary keys and values as keyword arguments for the assign() method, effectively adding multiple constant columns to the DataFrame.

    
    # Add multiple constant columns
    data = {'Discount_Percentage': 10, 'Advance': 1000}
    df2 = df.assign(**data)
    print(df2)
    

    Yields below output.

    
    # Output:
       Courses    Fee Duration  Discount  Discount_Percentage  Advance
    0    Spark  20000   30days      1000                   10     1000
    1  PySpark  25000   40days      2300                   10     1000
    2   Python  22000   35days      1200                   10     1000
    3   pandas  30000   50days      2000                   10     1000
    

    <a id="h-using-pandas-series"></a>

    Using Pandas Series

    Using a Pandas Series to add a constant column to a DataFrame. For instance, a Pandas Series with constant values [10] is created and assigned to the 'Discount_Percentage' column in the DataFrame. The length of the Series is set to match the length of the DataFrame using len(df.index). Adjust the column name and constant values as needed for your specific use case.

    
    # Use a Pandas Series to add a constant column
    df['Discount_Percentage'] = pd.Series([10] * len(df.index))
    print(df)
    
    # Using pandas series
    df = pd.DataFrame(technologies)
    df['Discount_Percentage'] = pd.Series([10 for x in range(len(df.index))])
    print(df)
    

    Yields below output.

    
    # Output:
       Courses    Fee Duration  Discount  Discount_Percentage
    0    Spark  20000   30days      1000                   10
    1  PySpark  25000   40days      2300                   10
    2   Python  22000   35days      1200                   10
    3   pandas  30000   50days      2000                   10
    

    <a id="h-complete-example-for-add-constant-column-to-dataframe"></a>

    Complete Example For Add Constant Column to DataFrame

    
    import pandas as pd
    technologies = {
        'Courses':["Spark","PySpark","Python","pandas"],
        'Fee' :[20000,25000,22000,30000],
        'Duration':['30days','40days','35days','50days'],
        'Discount':[1000,2300,1200,2000]
                  }
    index_labels=['r1','r2','r3','r4']
    df = pd.DataFrame(technologies,index=index_labels)
    print(df)
    
    # Adding new column with a constant value
    df["Discount_Percentage"] = 10
    print(df)
    
    # Using DataFrame.insert() to add column constant value
    df = pd.DataFrame(technologies,index=index_labels) 
    df.insert(1, 'Discount_Percentage', '10')
    print(df)
    
    # Add a constant number to each column elements
    df = pd.DataFrame(technologies,index=index_labels)
    df['Discount'] = df['Discount'] + 150
    print(df)
    
    # Using DataFrame.apply() and lambda function
    df = pd.DataFrame(technologies,index=index_labels)
    df['Discount_Percentage'] = df.apply(lambda x: 10, axis=1)
    print(df)
    
    # Using DataFrame.assign() to add constant column
    df = pd.DataFrame(technologies,index=index_labels)
    df2 = df.assign(Discount_Percentage=10)
    print(df2)
    
    # Add multiple constant columns
    df = pd.DataFrame(technologies,index=index_labels)
    data = {'Discount_Percentage': 10, 'Advance': 1000}
    df2 = df.assign(**data)
    print(df2)
    
    # Use a Pandas Series to add a constant column
    df['Discount_Percentage'] = pd.Series([10] * len(df.index))
    print(df)
    
    # Using pandas series
    df['Discount_Percentage'] = pd.Series([10 for x in range(len(df.index))])
    print(df)
    

    <a id="h-frequently-asked-questions-on-add-constant-column-to-dataframe"></a>

    Frequently Asked Questions on Add Constant Column to DataFrame

    To add a constant column to a Pandas DataFrame, you can simply assign a scalar value to a new column. For example, a new column named 'Country' is added to the DataFrame, and its values are set to the constant value 'USA'.

    You can add a constant column with different values for each row using the assignment operator or the DataFrame.insert() method. Use a Pandas Series or a list to provide different constant values

    You can add a constant column at a specific position in the DataFrame using the insert method. For example, the insert method is used to add a new column named 'Gender' with the constant value 'Female' at position 1 (index 1).

    To add a constant column to a Pandas DataFrame using the assign method. For example, assign is used to create a new DataFrame (df) with the added column named 'new_column' and the specified constant value. The original DataFrame (df) remains unchanged.

    You can add a constant column to a Pandas DataFrame based on a condition using the numpy library and boolean indexing.

    <a id="h-conclusion"></a>

    Conclusion

    In this article, you have learned how to add a constant column to pandas DataFrame by using DataFrame.assing(), DataFrame.insert(), pandas.Series(), DataFrame.apply() and Lambda function with examples.

    Happy Learning !!

    <a id="h-related-articles"></a>

    Related Articles

    <a id="h-references"></a>

    References