Skip to content
Extraits de code Groupes Projets
Valider 4d8c1e12 rédigé par Adrien Payen's avatar Adrien Payen
Parcourir les fichiers

last update

parent e8d85192
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Fichier supprimé
......@@ -378,34 +378,32 @@ def parental_code(data_1):
def directors_nationality(data_1):
# Check if the 'director' and 'country' columns exist in the dataset
if 'director' not in data_1.columns or 'country' not in data_1.columns:
print("The dataset does not contain 'director' or 'country' columns.")
return
# Extract unique directors and their respective nationalities
directors_nationality_dict = {}
country_nationalities_set = set()
for index, row in data_1.iterrows():
directors = str(row['director']).split(', ') if pd.notna(row['director']) else []
nationality = row['country']
nationality = str(row['country']).split(',')
# Add unique nationalities from 'country' column to the set, excluding 'nan'
unique_nationalities = set(filter(lambda x: pd.notna(x) and x.lower() != 'nan', map(str.strip, nationality)))
country_nationalities_set.update(unique_nationalities)
for director in directors:
director = director.strip()
if director in directors_nationality_dict:
# Ajouter la nationalité seulement si elle n'est pas déjà présente dans la liste
if str(nationality) not in directors_nationality_dict[director]['nationalities']:
directors_nationality_dict[director]['nationalities'].add(str(nationality))
# Add unique nationalities only if they are not already present
directors_nationality_dict[director]['nationalities'].update(unique_nationalities)
directors_nationality_dict[director]['number of movies or series'] += 1
else:
directors_nationality_dict[director] = {'nationalities': {str(nationality)}, 'number of movies or series': 1}
# Remove duplicates from the nationalities list for each director
# Remove consecutive duplicates from the nationalities list for each director
for director_info in directors_nationality_dict.values():
nationalities_set = set(director_info['nationalities'])
director_info['nationalities'] = list(nationalities_set)
directors_nationality_dict[director] = {'nationalities': set(unique_nationalities), 'number of movies or series': 1}
# Sort the directors by the number of movies and series produced
sorted_directors = sorted(directors_nationality_dict.items(), key=lambda x: x[1]['number of movies or series'], reverse=True)
# Create a DataFrame
columns = ['director', 'nationalities', 'number of movies or series']
directors_df = pd.DataFrame([[director, ', '.join(info['nationalities']), info['number of movies or series']] for director, info in sorted_directors], columns=columns)
......@@ -417,7 +415,7 @@ def directors_nationality(data_1):
print(f"{i+1}. {director_name}: {nationalities_str} - {info['number of movies or series']} movies/series")
# Save to CSV using the DataFrame
save_to_csv(directors_df) # Commenting this out since the 'save_to_csv' function is not provided
save_to_csv(directors_df)
return directors_df
......
Ce diff est replié.
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter