私はPythonを学んでいるので、助けていただければ幸いです。2 列のデータ セットがあります。1 つ目は一意の ID で、2 つ目はアイテムの文字列です。データからツリーを作成するために networkX を使用しています (以下を参照)。レベルごとのアイテム頻度を知る必要があります。たとえば、A のパス (1,2,3,4) の場合、各ノードのカウントは 1:4、2:2、3:2、および 4:2 である必要があります。ノード数を取得するにはどうすればよいですか?
私のデータは次のようになります。
A 1, 2, 3, 4
B 1, 2, 1, 4
C 1, 3, 4, 3
D 1, 4, 3, 2
私がこれまでに持っているコードは次のとおりです。
#create graph
G = nx.MultiGraph()
#read in strings from csv
testfile = 'C:…file.txt'
with open(testfile, "r") as f:
line = f.readline
f = (i for i in f if '\t' in i.rstrip())
for line in f:
customerID, path = line.rstrip().split("\t")
path2 = path.rstrip("\\").rstrip("}").split(",")
pathInt = list()
for x in path2:
if x is not None:
newx = int(x)
pathInt.append(newx)
print(pathInt)
varlength = len(pathInt)
pathTuple = tuple(pathInt)
G.add_path([pathTuple[:i+1] for i in range(0, varlength)])
nx.draw(G)
plt.show() # display