Manipulation de données en Julia
Katerina Zahradova
Instructor
# Entreprises dans différents pays
choc_comp_france = filter(chocolates -> chocolates.company_location == "France", chocolates)
choc_comp_brazil = filter(chocolates -> chocolates.company_location == "Brazil", chocolates)
choc_comp_peru = filter(chocolates -> chocolates.company_location == "Peru", chocolates)
choc_comp_belgium = filter(chocolates -> chocolates.company_location == "Belgium", chocolates)
...


# Regrouper par company_location
groupby(chocolates, :company_location)
GroupedDataFrame avec 60 groupes selon la clé : company_location
Premier groupe (156 lignes) : company_location = "France"
Row company bean_origin ...
String String ...
_______________________________
1 A. Morin Agua Grande ...
...
Dernier groupe (4 lignes) : company_location = "Ireland"
Row company bean_origin ...
String String ...
_______________________________
1 Wilkie's Organic Amazonas ...
groupby(chocolates, [:company_location, :cocoa])
GroupedDataFrame avec 373 groupes selon les clés : company_location, cocoa
Premier groupe (5 lignes) : company_location = "France", cocoa = 63.0
Row company bean_origin ...
String String ...
_______________________________
1 A. Morin Agua Grande ...
...
Dernier groupe (1 ligne) : company_location = "Ireland", cocoa = 89.0
Row company bean_origin ...
String String ...
_______________________________
1 Wilkie's Organic Amazonas ...

# Regrouper par pays
chocolates_by_country = groupby(chocolates, :company_location)
# Nombre d'enregistrements par groupe
combine(chocolates_by_country, nrow => :count)
60x2 DataFrame
Row company_location nrow
String31 Int64
______________________________
1 France 156
2 U.S.A. 764
3 Fiji 4
...
# Regrouper par pays
chocolates_by_country = groupby(chocolates, :company_location)
# Trier par nombre d'enregistrements
sort(combine(chocolates_by_country, nrow => :count), :count, rev = true)
60x2 DataFrame
Row company_location nrow
String31 Int64
______________________________
1 U.S.A 764
2 France 156
3 Canada 125
...
# Éléments uniques
unique(chocolates.company_location)
Vecteur de 60 éléments {String31} :
"France"
"U.S.A."
"Fiji"
"Ecuador"
"Mexico"
"Switzerland"
"Netherlands"
...
# Créer un nouveau DF ne contenant que des lignes uniques
unique(chocolates)
1795×10 DataFrame
Row company bean_origin ...
String String ...
_________________________________
1 A. Morin Agua Grande ...
...
# Lignes uniques par entreprise
unique(chocolates, :company)
416×10 DataFrame
Row company bean_origin ...
String String ...
_________________________________
1 A. Morin Agua Grande ...
...
# Entreprise ET teneur en cacao uniques
unique(chocolates, [:company, :cocoa])
968×10 DataFrame
Row company bean_origin ...
String String ...
_________________________________
1 A. Morin Agua Grande ...
...
Manipulation de données en Julia