Statistiques Mangaki codées en direct

Ces statistiques ont été codées à l'occasion de la rencontre Mangaki au Kawaii Café du 9/12/2015, puis modifiées le 23/12/2015.

Obtenir un anime à partir de son ID


In [1]:
Anime.objects.get(id=1)


Out[1]:
<Anime: Death Note>

Rechercher un anime par mot-clé


In [2]:
for anime in Anime.objects.filter(title__contains='Madoka'):
    print('N°', anime.id, ':', anime.title)


N° 180 : Puella Magi Madoka Magica the Movie Part II: Eternal
N° 176 : Puella Magi Madoka Magica the Movie Part III: Rebellion
N° 179 : Puella Magi Madoka Magica the Movie Part I: Beginnings
N° 181 : Mahou Shoujo Madoka★Magica Movie 3: Hangyaku no Monogatari - Magica Quartet x Nisioisin
N° 33 : Mahou Shoujo Madoka★Magica

Rechercher un artiste par mot-clé


In [3]:
for artist in Artist.objects.filter(last_name__contains='Shinbou'):
    print(artist.id, artist.first_name, artist.last_name)


2352 Akiyuki Shinbou

Mais au fait, il a réalisé quoi, Akiyuki Shinbou ?


In [4]:
artist.directed.all()


Out[4]:
[<Anime: Tsukuyomi: Moon Phase>, <Anime: Bakemonogatari>, <Anime: Nisemonogatari>, <Anime: Nisekoi>, <Anime: Sasami-san@Ganbaranai>, <Anime: Hidamari Sketch>, <Anime: Pani Poni Dash!>, <Anime: Magical Girl Lyrical Nanoha>, <Anime: Denpa Onna to Seishun Otoko Special>, <Anime: Nekomonogatari Black: Tsubasa Family>, <Anime: ef ~ A Tale of Memories>, <Anime: Sayonara Zetsubou Sensei>, <Anime: Mahou Shoujo Madoka★Magica>, <Anime: Le Portrait de Petit Cossette>, <Anime: Arakawa Under the Bridge>]

Parcourir les ratings d'un anime


In [5]:
madoka = Anime.objects.get(id=33)
print('Il y a %d ratings pour %s.' % (madoka.rating_set.count(), madoka.title))


Il y a 569 ratings pour Mahou Shoujo Madoka★Magica.

Affichons-en les 5 premiers :


In [6]:
madoka_ratings = madoka.rating_set.values_list('choice', flat=True)
print(madoka_ratings[:5])  # Afficher les 5 premiers ratings


['like', 'neutral', 'like', 'like', 'like']

Regroupons tous les ratings dans un compteur :


In [7]:
from collections import Counter
Counter(madoka_ratings)


Out[7]:
Counter({'dislike': 35,
         'favorite': 20,
         'like': 273,
         'neutral': 58,
         'willsee': 69,
         'wontsee': 114})

Nombre d'utilisateurs inscrits sur le site


In [8]:
User.objects.count()


Out[8]:
1787

Nombre d'œuvres sur le site


In [9]:
Work.objects.count()


Out[9]:
13874

Nombre de ratings sur le site


In [10]:
Rating.objects.count()


Out[10]:
260662

Nombre d'œuvres qui ont reçu au moins une note sur le site


In [11]:
len(set(Rating.objects.values_list('work_id', flat=True)))


Out[11]:
7787

Nombre de favoris sur le site


In [12]:
favorites = Rating.objects.filter(choice='favorite')
favorites.count()


Out[12]:
6226

Nombre d'œuvres ajoutées aux favoris


In [13]:
len(set(favorites.values_list('work_id', flat=True)))


Out[13]:
1396