Ratios
Sans être à proprement parler une mesure d’importance dans un réseau, le fait d’être « ratioed » est une mesure propre à Twitter, souvent utilisée pour juger de l’impopularité d’un tweet. « The Ratio », comme on l’appelle, se calcule en prenant le nombre de réponses et en le divisant par le nombre de retweets. Dans notre cas, il est logique, conceptuellement, de ne prendre que les degrés entrants des réseaux de retweets et de réponses.
Les réseaux G_rt et G_reply, ainsi que column_names = ['screen_name', 'degree'], ont été chargés pour vous.
Cet exercice fait partie du cours
<cours>Analyser des données de réseaux sociaux en Python</cours>Instructions de l’exercice
- Calculez le degré entrant pour le réseau de retweets avec la méthode
.in_degree()du graphe. - Faites de même pour le réseau de réponses.
- Fusionnez les deux DataFrames avec
.merge(). - Calculez le ratio. Les noms de colonnes sont
degree_replyetdegree_rt.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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())