作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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
我正在尝试用其他值填充第一个 1 中 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 可能出现在 dummy 中,那么你可以使用 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]
关于python - python / Pandas : how to forward fill from specific value within a group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21186082/
我是一名优秀的程序员,十分优秀!