跳转至

2881. 创建新列

题目描述

DataFrame employees
+-------------+--------+
| Column Name | Type.  |
+-------------+--------+
| name        | object |
| salary      | int.   |
+-------------+--------+

一家公司计划为员工提供奖金。

编写一个解决方案,创建一个名为 bonus 的新列,其中包含 salary 值的 两倍

返回结果格式如下示例所示。

 

示例 1:

输入:
DataFrame employees
+---------+--------+
| name    | salary |
+---------+--------+
| Piper   | 4548   |
| Grace   | 28150  |
| Georgia | 1103   |
| Willow  | 6593   |
| Finn    | 74576  |
| Thomas  | 24433  |
+---------+--------+
输出:
+---------+--------+--------+
| name    | salary | bonus  |
+---------+--------+--------+
| Piper   | 4548   | 9096   |
| Grace   | 28150  | 56300  |
| Georgia | 1103   | 2206   |
| Willow  |  593   | 13186  |
| Finn    | 74576  | 149152 |
| Thomas  | 24433  | 48866  |
+---------+--------+--------+
解释:
通过将 salary 列中的值加倍创建了一个新的 bonus 列。

解法

方法一:直接计算

我们可以直接计算 salary 的两倍,然后将结果存入 bonus 列。

时间复杂度 $O(1)$,空间复杂度 $O(1)$。

1
2
3
4
5
6
import pandas as pd


def createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:
    employees['bonus'] = employees['salary'] * 2
    return employees

评论