実現したいこと
python pandasにおいて、新しいグループを作成したいです。
groupby, cumsum, cumcountなどを使用して実現できると思いましたが、詰まってしまいました。
解決案のご教示願います。。
使用するデータ
次のようなgroupとflag(True,Falseでも可)の2つの列があります。
python
1import pandas as pd 2 3group = [0,0,0,1,1,2,2,2,2,2,2,3,3,3] 4flag = [0,1,1,0,0,0,1,1,0,0,1,1,0,1] 5 6df = pd.DataFrame(list(zip(group,flag)),columns=["group","flag"]) 7
期待するoutput
groupとflag列から、new_group列を作りたいです。
new_group列の特徴
- 同一group内でflagの値が変化するごとに、新しい値を付与
- 同一group内で複数回flag値が変化する場合、再度同じflag値をとっても別物として扱う。(下記添付図のgroup列の2をご参考ください。)
参考情報
私は下記URLサイトを参考に挑戦しましたが、わかりませんでした。
https://qiita.com/Masutani/items/3cea640da7d1f5f58af1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/17 14:02