Newer
Older
#reloads modules automatically before entering the execution of code
# %load_ext autoreload
# %autoreload 2
# third parties imports
import numpy as np
import pandas as pd
# -- add new imports here --
# local imports
from constants import Constant as C
from loaders import load_ratings
from loaders import load_items
# -- load the items and display the Dataframe
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
load_items()
load_ratings()
df_movies = pd.read_csv("data/small/content/movies.csv")
n_movies = df_movies['title'].nunique()
print("\n")
print(f"Number of movies: {n_movies}")
df_movies['annee'] = df_movies['title'].str.extract(r'\((.{4})\)')
df_movies['annee'] = pd.to_numeric(df_movies['annee'], errors='coerce')
# Trouver le range minimum et maximum
min_range = int(df_movies['annee'].min())
max_range = int(df_movies['annee'].max())
# Afficher le range minimum et maximum
print("\n")
print(f"Minimum range: {min_range}")
print(f"Maximum range: {max_range}")
print("\n")
df_movies['genres'] = df_movies['genres'].str.split('|')
df_movies = df_movies.explode('genres')
# Afficher tous les genres uniques
unique_genres = sorted(df_movies['genres'].unique())
print("List of all genres:")
for genre in unique_genres:
print(genre, "|", end = " ")
print("\n","A")
df_ratings = pd.read_csv("data/small/evidence/ratings.csv")
n_ratings = df_ratings['rating'].count()
print(f"Number of ratings: {n_ratings}")
print("\n","B")
df_ratings = pd.read_csv("data/small/evidence/ratings.csv")
n_users = df_ratings['userId'].nunique()
print(f"Number of users: {n_users}")
print("\n","C")
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
print("\n","D")
def most_rated_movies_ratings_count(csv_file):
# Charger le DataFrame des évaluations à partir du fichier CSV
df_ratings = pd.read_csv(csv_file)
# Grouper les évaluations par 'movieId' et compter le nombre de notes pour chaque film
movie_ratings_count = df_ratings.groupby('movieId')['rating'].count()
# Trouver le(s) film(s) le(s) plus évalué(s)
most_rated_movies = movie_ratings_count[movie_ratings_count == movie_ratings_count.max()]
# Afficher le nombre de notes du film (ou des films) le(s) plus évalué(s)
print("Number of ratings of the most rated movie(s):", most_rated_movies.max())
# Exemple d'utilisation de la fonction avec le chemin du fichier CSV
most_rated_movies_ratings_count("data/small/evidence/ratings.csv")
print("\n","E")
def least_rated_movies_ratings_count(csv_file):
# Charger le DataFrame des évaluations à partir du fichier CSV
df_ratings = pd.read_csv(csv_file)
# Grouper les évaluations par 'movieId' et compter le nombre de notes pour chaque film
movie_ratings_count = df_ratings.groupby('movieId')['rating'].count()
# Trouver le(s) film(s) le(s) moins évalué(s)
least_rated_movies = movie_ratings_count[movie_ratings_count == movie_ratings_count.min()]
# Afficher le nombre de notes du film (ou des films) le(s) moins évalué(s)
print("Number of ratings of the least rated movie(s):", least_rated_movies.min())
# Exemple d'utilisation de la fonction avec le chemin du fichier CSV
least_rated_movies_ratings_count("data/small/evidence/ratings.csv")
print("\n","F")
def all_possible_ratings(csv_file):
# Charger le DataFrame des évaluations à partir du fichier CSV
df_ratings = pd.read_csv(csv_file)
# Obtenir toutes les valeurs de notation uniques
rating_values = sorted(df_ratings['rating'].unique())
# Afficher toutes les valeurs de notation possibles
print("All possible rating values, from smallest to highest:")
for rating in rating_values:
print(rating)
# Exemple d'utilisation de la fonction avec le chemin du fichier CSV
all_possible_ratings("data/small/evidence/ratings.csv")
print("\n","G")
def unrated_movies_count(ratings_csv, movies_csv):
# Charger les DataFrames des évaluations et des films à partir des fichiers CSV
df_ratings = pd.read_csv(ratings_csv)
df_movies = pd.read_csv(movies_csv)
# Obtenir la liste de tous les films présents dans le fichier de notation
rated_movies = df_ratings['movieId'].unique()
# Comparer la liste des films notés à la liste complète des films pour obtenir les films non notés
unrated_movies_count = df_movies[~df_movies['movieId'].isin(rated_movies)].shape[0]
# Afficher le nombre de films non notés
print("Number of movies that were not rated at all:", unrated_movies_count)
# Exemple d'utilisation de la fonction avec les chemins des fichiers CSV des évaluations et des films
unrated_movies_count("data/small/evidence/ratings.csv", "data/small/content/movies.csv")
# -- display relevant informations that can be extracted from the dataset
# -- display relevant informations that can be extracted from the dataset