熊猫:按填充分组不适用于正确的填充顺序

时间:2018-12-09 00:00:02

标签: pandas pandas-groupby

我正面临小组填写的问题。它似乎没有以正确的顺序应用向前填充 这是我的开始数据

   group       date  stage_2
0      A 2014-01-01      NaN
1      A 2014-01-03      NaN
2      A 2014-01-04      NaN
3      A 2014-01-05      1.0
4      B 2014-01-02      NaN
5      B 2014-01-06      NaN
6      B 2014-01-10      NaN
7      C 2014-01-03      1.0
8      C 2014-01-05      3.0
9      C 2014-01-08      NaN
10     C 2014-01-09      NaN
11     C 2014-01-10      NaN
12     C 2014-01-11      NaN
13     D 2014-01-01      NaN
14     D 2014-01-03      NaN
15     D 2014-01-04      NaN
16     E 2014-01-04      1.0
17     E 2014-01-06      3.0
18     E 2014-01-07      4.0
19     E 2014-01-08      NaN
20     E 2014-01-09      NaN
21     E 2014-01-10      NaN
22     F 2014-01-08      NaN

应用填充方法后,这就是我得到的

df ['stage_2'] = df.groupby('group')['stage_2']。ffill()

我期望索引9到12和21的值不同

   group       date  stage_2
0      A 2014-01-01      NaN
1      A 2014-01-03      NaN
2      A 2014-01-04      NaN
3      A 2014-01-05      1.0
4      B 2014-01-02      NaN
5      B 2014-01-06      NaN
6      B 2014-01-10      NaN
7      C 2014-01-03      1.0
8      C 2014-01-05      3.0
9      C 2014-01-08      1.0
10     C 2014-01-09      NaN
11     C 2014-01-10      NaN
12     C 2014-01-11      NaN
13     D 2014-01-01      NaN
14     D 2014-01-03      NaN
15     D 2014-01-04      NaN
16     E 2014-01-04      1.0
17     E 2014-01-06      3.0
18     E 2014-01-07      4.0
19     E 2014-01-08      4.0
20     E 2014-01-09      4.0
21     E 2014-01-10      NaN
22     F 2014-01-08      NaN

1 个答案:

答案 0 :(得分:0)

我可以重现此错误的唯一方法是输入非ASCII字符,例如将西里尔字母СЕ分别移到索引{9-12和21的group列。

编辑

好的,很可能您使用的熊猫v0.23.0具有bug(在以后的版本中,至少在v0.23.4中已得到修复),从而使.ffill()给出了准确的信息您发布的输出。因此,请upgrade your pandas