|
发表于 2023-4-22 11:27:23
|
显示全部楼层
针对题目1和2,应该先导入 pandas 库,并根据要求填写代码实现指令要求。
import pandas as pd
# 题目1
- nd_degrees = pd.read_excel("https://coding-fundamentals.s3.amazonaws.com/ND-business_Degrees.xlsx", sheet_name="Notre Dame", index_col="ID")
- nd_ug_degrees = nd_degrees[nd_degrees["Degree"]=="bachelor"]
- nd_gr_degrees = nd_degrees[nd_degrees["Degree"]=="master"]
- print(nd_ug_degrees.head(5))
- print(nd_gr_degrees.head(5))
复制代码
# 题目2
- try:
- nd_stacked = pd.concat([nd_ug_degrees, nd_gr_degrees], axis=0, verify_integrity=True)
- except ValueError:
- nd_stacked = pd.concat([nd_ug_degrees, nd_gr_degrees], axis=0, ignore_index=True)
- display(nd_stacked)
复制代码
其中第一段代码实现了题目1的要求,即创建并处理数据框。线上提供的 Excel 文件之中,命名为 "Notre Dame" 的表格中,有两列分别为 "ID" 和 "Degree"。因此我们可以通过 `read_excel` 函数读取该表格,同时设置 "ID" 为索引标签。然后,可以使用 `.loc[]` 方法筛选出符合条件的行(即 "Degree" 列为 "bachelor" 或者 "master" 的行),分别存储到 `nd_ug_degrees` 和 `nd_gr_degrees` 变量中。最后使用 `.head()` 方法显示这两份数据框的前 5 行。
第二段代码则是实现题目2的要求。我们需要将 `nd_ug_degrees` 和 `nd_gr_degrees` 在垂直方向上重新组合,并且为每一行设置唯一的索引。使用 `.concat()` 函数可以将这两份数据框按照竖直方向拼接起来,其中 `axis=0` 表示竖直方向,`verify_integrity=True` 表示在拼接时验证索引的唯一性,若出现重复则抛出 `valueerror` 异常。如果确保数据框中不存在重复的索引,则可以将 `verify_integrity=true` 改为 `ignore_index=true` 来忽略掉这个检查。最后,使用 `display()` 方法显示拼接好的 `nd_stacked` 数据框。 |
|