以下のようなDataFrame形式のデータから、隣接行列を作りたいと考えております。
||userid_1|userid_2|waight|
|:--|:--:|--:|
1|1|4|15
2|1|5|30
3|1|5|30
4|2|6|20
5|3|7|15
6|1|4|20
以下、やりたいことが2つあり、pythonのコードを教えていただけますでしょうか。
【やりたいこと①:重み付けがないネットワーク分析】
・上記のDataFrameのデータから、uid1とuid2の組み合わせの隣接行列に変換する。
・隣接行列の値は、0,1 で、ネットワークがあれば1
・その結果を、NetworkXの無向グラフで描画する。
・その際、1行目と6行目は同じuserである「1」と「4」のネットワークが期間中に2回発生していることを表しているが、
重みつけを考慮しないので、同一集計され「1」になる。
【やりたいこと②:重み付けがあるネットワーク分析】
・隣接行列の値に重みをつけて、waightの合計を表示する。
・その結果を、NetworkXの無向グラフで描画する。
・その際、1行目と6行目は同じuserである「1」と「4」のネットワークが期間中に2回発生していることになりますが、
重みつけを考慮するので、waightの合計値を集計して(15+20の)「35」と表示されるようにしたい。
あなたの回答
tips
プレビュー