サンプルDF:
id seq
1 3
1 2
1 1
1 0
1 2
1 1
1 0
1 3
1 2
1 1
1 0
これは私が同じデータフレームをどのように見せたいかです:
id seq seq_num
1 3 0
1 2 0
1 1 0
1 0 0
1 2 1
1 1 1
1 0 1
1 3 2
1 2 2
1 1 2
1 0 2
基本的に、にseq_num
0が表示されるたびにを変更したいと思いseq
ます。またseq_num
、増加し続ける必要があります。
ここから始める方法がよくわかりません。私のパンダの知識は私を失敗させています。
どんな助けでも大歓迎です。
デイモン、groupby().cumsum()
;
df['seq_num'] = (df.seq.diff().gt(0)
.groupby(df['id'])
.cumsum()
)
出力:
id seq seq_num
0 1 3 0.0
1 1 2 0.0
2 1 1 0.0
3 1 0 0.0
4 1 2 1.0
5 1 1 1.0
6 1 0 1.0
7 1 3 2.0
8 1 2 2.0
9 1 1 2.0
10 1 0 2.0
異なる内のシーケンスを気にしない場合はid
、を削除できます.groupby()
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加