题目
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 列。
解决方案
1、审题,理解题意
题目要求我们在 DataFrame employees 中创建一个新的列 ‘bonus’,新列是每个员工工资的两倍。
2、解题思路
先来回顾几个概念:
pandas DataFrame: 与 SQL 表类似,DataFrame 是以列形式显示的 Series 的集合。我们可以添加、删除和更改 DataFrame 中的值、行和列。 可以对 DataFrame Series 中的每个单独元素执行的操作。按列操作的几种类型的示例包括算术操作、聚合函数、筛选和条件操作以及字符串操作。
pandas Series: pandas 库提供的一维数据结构。可以将 Series 视为 pandas DataFrame 中的一列数据。一个 Series 可以包含广泛的数据类型,但它们是同质的,所有元素必须是相同的数据类型。与 DataFrame 一样,Series 被编入索引,并且可以被标记以便于数据检索。
那么题目的解题思路我们可以创建新列,列名为bonus ,值为salary列值的两倍,然后将新列分配给 employees DataFrame。当我们执行 employees[‘bonus’] = employees[‘salary’] * 2, 我们会在 DataFrame employees 中创建一个叫做 bonus 的新列,并且使用 salary 列值的双倍填充它。
3、代码实现
import pandas as pd
def createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:
employees['bonus'] = employees['salary'] * 2
return employees
4、执行结果
rn employees
### 4、执行结果
[外链图片转存中...(img-wH1W2aQw-1698278151705)]