Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Découvrez comment commencer à utiliser des DataFrames, qui sont des structures de données à deux dimensions pour stocker et manipuler des données. Les DataFrames aident à préparer des données pour un modèle Machine Learning. Les DataFrames peuvent également être utilisés pour la manipulation des données non liées au Machine Learning.
Installer Microsoft.Data.Analysis
Dans la plupart des cas, l’accès DataFrame est aussi simple que le référencement du package NuGet Microsoft.Data.Analysis .
dotnet package add Microsoft.Data.Analysis
Charger des données
Les DataFrames facilitent le chargement des données tabulaires. Créez un fichier séparé par des virgules appelé housing-prices.csv avec les données suivantes.
Id,Size,HistoricalPrice,CurrentPrice
1,600f,100000,170000
2,1000f,200000,225000
3,1000f,126000,195000
4,850f,150000,205000
5,900f,155000,210000
6,550f,99000,180000
Commencez par charger les données dans un DataFrame.
using System.IO;
using System.Linq;
using Microsoft.Data.Analysis;
// Define data path
var dataPath = Path.GetFullPath(@"housing-prices.csv");
// Load the data into the data frame
var dataFrame = DataFrame.LoadCsv(dataPath);
Inspecter les données
Les dataFrames stockent les données sous la forme d’une collection de colonnes. Cela facilite l’interaction avec les données.
Pour obtenir un aperçu des types de données de colonne, exécutez Info().
dataFrame.Info();
Pour obtenir un résumé des données, exécutez Description().
dataFrame.Description();
Transformer les données
Il existe une variété d’options transformatrices pour les données. Les classes DataFrame et DataFrameColumn exposent plusieurs API utiles, notamment pour les opérations binaires, les calculs, les jointures, les fusions, et la gestion des valeurs manquantes.
Par exemple, ces données peuvent être modifiées pour comparer les prix historiques aux prix actuels qui représentent l’inflation. Vous pouvez appliquer un calcul à toutes les valeurs et enregistrer les résultats dans une nouvelle colonne.
dataFrame["ComputedPrices"] = dataFrame["HistoricalPrice"].Multiply(2);
Les données peuvent être triées en groupes à partir des valeurs d’une colonne spécifique.
var sortedDataFrame = dataFrame.GroupBy("Size");
Les données peuvent être filtrées en fonction de différentes métriques d’égalité. Cet exemple utilise une fonction d’égalité ElementWise , puis filtre en fonction de la colonne de résultat booléen pour obtenir un nouveau DataFrame avec uniquement les valeurs appropriées.
PrimitiveDataFrameColumn<bool> boolFilter = dataFrame["CurrentPrice"].ElementwiseGreaterThan(200000);
DataFrame filteredDataFrame = dataFrame.Filter(boolFilter);
Combiner des sources de données
Tenez compte des données brutes suivantes :
Id, Bedrooms
1, 1
2, 2
3, 3
4, 2
5, 3
6, 1
Les dataFrames peuvent être construits à partir de colonnes de données individuelles. Créez un DataFrame à partir d’une liste des données brutes.
var ids = new List<Single>() {1,2,3,4,5,6};
var bedrooms = new List<Single>() {1, 2, 3, 2, 3, 1};
var idColumn = new SingleDataFrameColumn("Id", ids);
var bedroomColumn = new SingleDataFrameColumn("BedroomNumber", bedrooms);
var dataFrame2 = new DataFrame(idColumn, bedroomColumn);
Les deux DataFrames peuvent être fusionnés en fonction de la Id
valeur. La fonction merge prend les deux DataFrames et combine les lignes en fonction de leur valeur Id
.
dataFrame = dataFrame.Merge(dataFrame2, new string[] {"Id"}, new string[] {"Id"});
Enregistrer des DataFrames
Les résultats peuvent être enregistrés dans un format .csv.
DataFrame.SaveCsv(dataFrame, "result.csv", ',');
Utiliser DataFrame avec ML.NET
Les dataFrames fonctionnent directement avec ML.NET. DataFrame implémente le IDataView et peut être utilisé pour entraîner un modèle.