[英]Pythjon/pandas: how to forward fill from specific value within a group
我在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可能存在於虛擬中,那么你可以使用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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.