我正在尝试按部门属性对我的数据进行分组,然后将其分组后填写数据集中间填充的两个字段(评级和数字)上方和下方的空间。
我曾尝试让 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 |
有没有动态的方法来做到这一点?