This Python code will read a Pajek graph and calculate its degree centrality using this formula …

To test the result I will be using example 17 from Freeman’s (1978) *Centrality in Social Networks: Conceptual Clarification*. Freeman’s calculation for this example is 0.42.

The graph is written in a file named `graph17.net`

, which reads:

*Vertices 5
*Edges
1 2
1 5
5 2
5 4
4 3

This is the Python code, using the igraph module.

import igraph
# load grpah
g=igraph.read("graph17.net",format="pajek")
# simplify
sg=g.simplify()
# find largest degree value
degMax=max(sg.degree())
# get list of all degrees
allDegs=sg.degree()
# create list to store results
calcList=[]
# loop for subtracting degree from
# maximum degree for all nodes
for x in allDegs:
calc=degMax-x
calcList.append(calc)
# sum all results for enumerator
degr=sum(calcList)
# calculate denominator
deno=(sg.vcount()-1.0)*(sg.vcount()-2.0)
# divide them
cDeg=degr/deno
# format results
gCentr="gDc: "+str("%.3f" % cDeg)
# print results
print gCentr

That should return

gDc: 0.417

Which is the correct answer!.

### Like this:

Like Loading...

*Related*