Create a New Column
EasyUpdated: Aug 2, 2025
Practice on:
Problem
DataFrame employees
+-------------+--------+
| Column Name | Type. |
+-------------+--------+
| name | object |
| salary | int. |
+-------------+--------+
A company plans to provide its employees with a bonus.
Write a solution to create a new column name bonus that contains the
doubled values of the salary column.
The result format is in the following example.
Examples
Example 1
Input:
DataFrame employees
+---------+--------+
| name | salary |
+---------+--------+
| Piper | 4548 |
| Grace | 28150 |
| Georgia | 1103 |
| Willow | 6593 |
| Finn | 74576 |
| Thomas | 24433 |
+---------+--------+
Output:
+---------+--------+--------+
| name | salary | bonus |
+---------+--------+--------+
| Piper | 4548 | 9096 |
| Grace | 28150 | 56300 |
| Georgia | 1103 | 2206 |
| Willow | 6593 | 13186 |
| Finn | 74576 | 149152 |
| Thomas | 24433 | 48866 |
+---------+--------+--------+
Explanation:
A new column bonus is created by doubling the value in the column salary.
## Solution
### Method 1 – Using pandas DataFrame Assignment
#### Intuition
The key idea is to use pandas' ability to assign a new column directly to a DataFrame. By multiplying the `salary` column by 2, we efficiently create the `bonus` column.
#### Approach
1. The function receives a DataFrame `employees` with columns `name` and `salary`.
2. Assign a new column `bonus` as `employees["salary"] * 2`.
3. Return the modified DataFrame.
#### Code
{{< code_tabs >}}
##### Python
```python
def createBonusColumn(employees: 'pd.DataFrame') -> 'pd.DataFrame':
employees = employees.copy()
employees["bonus"] = employees["salary"] * 2
return employees
Complexity
- ⏰ Time complexity:
O(n), where n is the number of rows in employees, as each row is processed once. - 🧺 Space complexity:
O(n), for storing the new DataFrame.