Ratios
While not strictly a measure of importance to a network, the idea of being "ratio'd" is a network measure which is particular to Twitter and is typically used to judge the unpopularity of a tweet. "The Ratio," as it is called, is calculated by taking the number of replies and dividing it by the number of retweets. For our purposes, it makes conceptual sense to take only the in-degrees of both the retweet and reply networks.
The networks G_rt
and G_reply
, and column_names = ['screen_name', 'degree']
have been loaded for you.
This is a part of the course
“Analyzing Social Media Data in Python”
Exercise instructions
- Calculate the in-degree for the retweet network with the graph method
.in_degree()
. - Do the same for the reply network.
- Merge the two DataFrames together using
.merge()
. - Calculate the ratio. The column names are
degree_reply
anddegree_rt
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Calculate in-degrees and store in DataFrame
degree_rt = pd.DataFrame(list(____.____()), columns = column_names)
degree_reply = pd.DataFrame(list(____.____()), columns = column_names)
# Merge the two DataFrames on screen name
ratio = ____.____(____, on = 'screen_name', suffixes = ('_rt', '_reply'))
# Calculate the ratio
ratio['ratio'] = ____ / ____
# Exclude any tweets with less than 5 retweets
ratio = ratio[ratio['degree_rt'] >= 5]
# Print out first five with highest ratio
print(ratio.sort_values('ratio', ascending = False).head())