実現したいこと
以下の【df】の「id」から、【任意条件】をもとに、ユニークのダミーデータを割り当てた「uniqueid」列を作成したく、その方法を色々と検索し試みたのですが、うまくいかず、行き詰っています。
知見のある方、ご教示いただけないでしょうか。
【任意条件】
「居住地」「勤務地」の値が日(=day列:15-17)をまたいでも、それぞれ同一の場合、異なる「id」を同一人物とみなし、
「uniqueid」にユニークのダミー値を割り当てる
【ダミーデータ】
適当な文字列
【df】
id | 居住地 | 勤務地 | day |
aa1 111111 112233 15
aa2 111112 112231 15
aa3 111113 112232 15
aa4 111114 112234 15
aa5 111115 112235 15
aa6 111116 112236 15
bb1 111111 112233 16
bb3 111113 112232 16
bb5 111115 112235 16
bb6 111116 112236 16
cc1 111111 112233 17
cc3 111113 112232 17
cc5 111115 112235 17
【実現したいこと】
id | 居住地 | 勤務地 | day | uniqueid |
aa1 111111 112233 15 aabbcc1
bb1 111111 112233 16 aabbcc1
cc1 111111 112233 17 aabbcc1
aa2 111112 112231 15 aaaa222
aa3 111113 112232 15 aabbcc3
bb3 111113 112232 16 aabbcc3
cc3 111113 112232 17 aabbcc3
aa4 111114 112234 15 aaaa444
aa5 111115 112235 15 aabbcc5
bb5 111115 112235 16 aabbcc5
cc5 111115 112235 17 aabbcc5
aa6 111116 112236 15 aaabbb6
bb6 111116 112236 16 aaabbb6
発生している問題・分からないこと
条件指定におけるダミーデータの付与
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
df = df.groupby(by=["居住地","勤務地","day","id"]).reset_index()
【結果】
id | 居住地 | 勤務地 | day |
aa1 111111 112233 15
aa2 111112 112231 15
aa3 111113 112232 15
aa4 111114 112234 15
aa5 111115 112235 15
aa6 111116 112236 15
bb1 111111 112233 16
bb3 111113 112232 16
bb5 111115 112235 16
bb6 111116 112236 16
cc1 111111 112233 17
cc3 111113 112232 17
cc5 111115 112235 17
補足
【実現したいこと】
id | 居住地 | 勤務地 | day | uniqueid |
aa1 111111 112233 15 aabbcc1
bb1 111111 112233 16 aabbcc1
cc1 111111 112233 17 aabbcc1
→aa1,bb1,cc1は、日をまたいでも(day:15-17)「居住地」「勤務地」が同一なので、同一人物とみなし、aabbcc1をユニーク値として付与。
aa2 111112 112231 15 aaaa222
→aa2は、このデータのみのため、、aaaa22をユニーク値として付与。
aa3 111113 112232 15 aabbcc3
bb3 111113 112232 16 aabbcc3
cc3 111113 112232 17 aabbcc3
aa4 111114 112234 15 aaaa444
aa5 111115 112235 15 aabbcc5
bb5 111115 112235 16 aabbcc5
cc5 111115 112235 17 aabbcc5
aa6 111116 112236 15 aaabbb6
bb6 111116 112236 16 aaabbb6
→aa6,bb6は、日をまたいでも(day:15,16)「居住地」「勤務地」が同一なので、同一人物とみなし、aaabbb6をユニーク値として付与。
回答3件
あなたの回答
tips
プレビュー