Python / pandas:如何从组中的特定值转发文件

时间:2014-01-17 12:29:34

标签: python pandas

我在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

1 个答案:

答案 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]