我在pandas数据框中的数据如下所示:
dummy group
0 0 A1
1 0 A1
2 0 A1
3 1 A1
4 0 A1
5 0 A1
6 0 B2
7 0 B1
8 0 B2
9 0 B2
10 0 B2
11 0 B2
我正在尝试从前一个填充A1的剩余值,还有其他值。 使用ffill摆脱NaN非常直接,但我真的可以在这个条件填充上使用一些帮助。感谢
修改
结果应该如下:
dummy group
0 0 A1
1 0 A1
2 0 A1
3 1 A1
4 1 A1
5 1 A1
6 0 B2
7 0 B1
8 0 B2
9 0 B2
10 0 B2
11 0 B2
答案 0 :(得分:2)
如果我找到了你,并且你想要从第一个开始,并且虚拟中只有零和零,那么你可以使用numpy cumsum
:
>>> df['dummy'] = df.groupby('group')['dummy'].transform(np.cumsum)
>>> df.ix[df['dummy']!=0, 'dummy'] = 1
>>> df
dummy group
0 0 A1
1 0 A1
2 0 A1
3 1 A1
4 1 A1
5 1 A1
6 0 B2
7 0 B1
8 0 B2
9 0 B2
10 0 B2
11 0 B2
[12 rows x 2 columns]