考えていること
IDデータ、時間データ、場所データの3列が取れていて、同一IDが時系列順に次にどこへに移ったかを総当たりでカウントし、行列に表現するようなことがやりたいです。
時系列で同時刻で複数の場所が存在した場合は、ダブルカウントで行う方法を行いたいです。
具体的には以下のようにカウントしたいのですが、その方法がわからず困っています。
データ
id time place 1 2019-01-04 16:03:00 a 1 2019-01-04 16:04:00 b 1 2019-01-04 16:08:00 a 1 2019-01-04 16:09:00 a 1 2019-01-04 16:10:00 a 2 2019-01-04 16:11:00 c ※dと同時刻 2 2019-01-04 16:11:00 d ※cと同時刻 2 2019-01-04 16:12:00 c 2 2019-01-04 16:13:00 a :
同一IDで見て、1番はa→b→a→a→a, 2番はc→cとplaceを変えているので作成したいデータフレームは以下になります。
a→b
b→a
a→a
a→a
c→c
d→c
c→a
作成したいデータフレーム
a b c d・・ a 2 1 nan nan b 1 nan nan nan c 1 1 nan nan d nan nan 1 nan :
試したこと
groupby("id") で ID ごとにグループ化し、sort_values("time") で時系列順にソートした上で遷移元、遷移先をカウント
お教え頂いたものに少々工夫することで、同時刻で複数の場所が存在しない場合の表現はできました。
大変恐縮ではございますが、お知恵を拝借できましたら幸いです。
何卒よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。