【发布时间】:2019-04-28 15:32:20
【问题描述】:
我的 pandas 数据框中有一列,如下所示:
Status
1 Past Due
2 Yet to Calc
3 Overdue
4 Past Due
5 Past Due
6 Yet to Calc
7 Past Due
8 Past Due
9 Past Due
10 Yet to Calc
11 Overdue
12 Yet to Calc
13 Past Due
14 Past Due
15 Past Due
16 Yet to Calc
17 Overdue
18 Past Due
19 Past Due
20 Past Due
21 Yet to Calc
我想用“过期”填充“过期”和“尚未计算”之间的所有值。所以我的预期输出是:
Status
1 Past Due
2 Yet to Calc
3 Overdue
4 Overdue
5 Overdue
6 Yet to Calc
7 Past Due
8 Past Due
9 Past Due
10 Yet to Calc
11 Overdue
12 Yet to Calc
13 Past Due
14 Past Due
15 Past Due
16 Yet to Calc
17 Overdue
18 Overdue
19 Overdue
20 Overdue
21 Yet to Calc
我尝试按切片分组并在组内向前填充,如下所示:
df3['Inventory_1'] = df3.groupby(df3.loc['Overdue':'Yet to Calc','Inventory_1']).ffill()
但上面返回一个空系列并且不填充。
如果不使用 ffill,有什么方法可以解决这个问题?
【问题讨论】:
标签: python pandas pandas-groupby