networkx
を使用して、各行が「エッジ」を表すtxtファイルから電子メールネットワーク構造を構築しています。パイソンにし、次のコードを使用して、networkx
オブジェクトに変換:私は最初のtxtファイル({ '#Sender'、 '受信者'、 '時間'} 3列):ロードpandasデータフレームをNetworkxオブジェクトに変換するときにエッジ数が異なる
import networkx as nx
import pandas as pd
email_df = pd.read_csv('email_network.txt', delimiter = '->')
email = nx.from_pandas_dataframe(email_df, '#Sender', 'Recipient', edge_attr = 'time')
email.txt
のデータには、hereにアクセスできます。 email
(Networkx
オブジェクト)3251
In [1]: len(email_df)
In [2]: 82927
In [3]: len(email.edges())
In [4]: 3251
の長さを有している
しかし、email_df
(pandas
DataFrame
オブジェクトは)私は本当に混乱しました、82927の長さを持っているためでも含む行の場合最初の2つのノードの同じ2つのノードは同じ方向のシーケンス(例えば '1'から '2')を持ち、3番目のカラム( 'time'はタイムスタンプを意味する)はそれらを互いに区別する必要があるため、エッジが現れる。そして、なぜ私はnx.from_pandas_dataframe
を `email_df 'から読み込んだ後、エッジの数が82927から3251に劇的に減少したのですか?
誰でもこのことを私に説明するのに役立つでしょうか?
ありがとうございます。ここ
コードウィンドウが意図されていますJSコードのみ。その他の言語については、コードを貼り付けて強調表示し、Ctrl + Kを押してフォーマットしてください。 –