我正在尝试按照部门属性对我的数据进行分组,然后一旦我将其分组,就填充在数据集中间已经填充的两个字段(评级和编号)上面和下面的空白处。
我已经尝试了使用groupby方法,但是没有成功。我的计划是让groupby方法起作用,然后应用以下代码,看看能否正确地填充。
# This won't work on its own because I need to group the data first.
df = df.mask(df == 0).ffill()
这是我开始的内容:
| 部门 | 范围 | 评分 | 数量 | |--------------|---------|-------------|--------| | 管理员 | 0 (无) | | | | 管理员 | 01至3 | | | | 管理员 | 01至3 | | | | 管理员 | 01至3 | | | | 管理员 | 04至6 | 2. 目标完成 | 2 | | 管理员 | 04至6 | 2. 目标完成 | 2 | | 管理员 | 04至6 | 2. 目标完成 | 2 | | 管理员 | 07至10 | | | | 管理员 | 07至10 | | | | 管理员 | 07至10 | | | | 管理员 | 07至10 | | | | 分销部门 | 0 (无) | | | | 分销部门 | 01至3 | | | | 分销部门 | 01至3 | | | | 分销部门 | 01至3 | | | | 分销部门 | 04至6 | 2. 目标完成 | 2 | | 分销部门 | 04至6 | 2. 目标完成 | 2 | | 分销部门 | 04至6 | 2. 目标完成 | 2 | | 分销部门 | 07至10 | | | | 分销部门 | 07至10 | | | | 分销部门 | 07至10 | | | | 分销部门 | 07至10 | | |
这是我想要的
| 部门 | 范围 | 评级 | 数量 | |--------------|----------|--------------|--------| | 管理员 | 0 (无) | 1. 过低 | 1 | | 管理员 | 01 至 3 | 1. 过低 | 1 | | 管理员 | 01 至 3 | 1. 过低 | 1 | | 管理员 | 01 至 3 | 1. 过低 | 1 | | 管理员 | 04 至 6 | 2. 目标内 | 2 | | 管理员 | 04 至 6 | 2. 目标内 | 2 | | 管理员 | 04 至 6 | 2. 目标内 | 2 | | 管理员 | 07 至 10| 3. 过高 | 3 | | 管理员 | 07 至 10| 3. 过高 | 3 | | 管理员 | 07 至 10| 3. 过高 | 3 | | 管理员 | 07 至 10| 3. 过高 | 3 | | 分销 | 0 (无) | 1. 过低 | 1 | | 分销 | 01 至 3 | 1. 过低 | 1 | | 分销 | 01 至 3 | 1. 过低 | 1 | | 分销 | 01 至 3 | 1. 过低 | 1 | | 分销 | 04 至 6 | 2. 目标内 | 2 | | 分销 | 04 至 6 | 2. 目标内 | 2 | | 分销 | 04 至 6 | 2. 目标内 | 2 | | 分销 | 07 至 10| 3. 过高 | 3 | | 分销 | 07 至 10| 3. 过高 | 3 | | 分销 | 07 至 10| 3. 过高 | 3 | | 分销 | 07 至 10| 3. 过高 | 3 |有没有动态的方法来做到这一点?