Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
L'interpolation est une méthode pour générer des points entre des points donnés. Dans ce didacticiel, je vais montrer comment vous pouvez utiliser l'interpolation pour gérer les données manquantes en Python. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
En Python, l'interpolation est une technique principalement utilisée pour imputer les valeurs manquantes dans le bloc de données ou la série lors du prétraitement des données. Je vais montrer comment vous pouvez utiliser cette méthode pour estimer les points de données manquants dans vos données à l'aide de Python dans LuckyTemplates.
Si nous regardons nos données d'origine ci-dessous qui sont représentées dans le graphique du haut, nous pouvons voir qu'il y a beaucoup de trous ou de données manquantes que nous ne pouvons pas représenter car il n'y a rien. Mais dans le graphique du bas, nous pouvons voir que nous avons fait une estimation pour déterminer à quoi ces données pourraient ressembler. Les données réelles sont représentées en bleu clair, tandis que les données interpolées sont en bleu foncé.
Il y a plusieurs types d'estimation que nous allons faire. Nous allons faire une interpolation linéaire, une interpolation la plus proche, puis une interpolation temporelle pondérée. Chacun de ceux-ci va nous donner des résultats légèrement différents.
L'exemple ci-dessus utilise l'interpolation temporelle pondérée, qui ressemble presque à l'interpolation linéaire, à l'exception qu'elle est pondérée en fonction des jours. Linéaire a estimé les données en fonction de la pente entre ces deux points de données. L'interpolation la plus proche a un type d'estimation plus plat, comme vous pouvez le voir ci-dessous, où nous avons examiné la valeur la plus proche et avons pu estimer ce qui existe entre les deux.
Alors, passons à un cahier Jupyter et apportons-le.
Table des matières
Comment utiliser l'interpolation pour gérer les données manquantes en Python
Vous pouvez utiliser l'éditeur de scripts pour tout écrire, mais c'est plus simple. Vous obtenez plus de commentaires dans votre bloc-notes Jupyter. Alors, documentons ce que nous faisons. Lorsque nous copions et collons ceci dans notre éditeur de script Python, ce sera très propre et clair.
Importons les bibliothèques que nous voulons, et nous allons importer des Pandas et les enregistrer en tant que PD variable. Nous allons importer Numpy et l'enregistrer en tant que variable NP. Pandas est une bibliothèque de manipulation de données, tandis que Numpy nous permet également de manipuler des données et nous donne une algèbre linéaire.
Nous voulons apporter notre jeu de données, et nous allons l'enregistrer en tant que variable df . Et nous allons simplement utiliser la variable Pandas ( pd ) et utiliser la fonction read.csv . Ensuite, nous allons copier et coller là où ce fichier existe sur notre PC. Le mien est dans mon répertoire de travail, donc tout ce que j'ai à faire est d'écrire machines.csv et de l'encapsuler entre parenthèses.
Et regardons notre ensemble de données simplement en utilisant la variable df. Vous pouvez voir que cela va du 1er 2022 jusqu'au 25. Il y a des jours consécutifs jusqu'au 15, puis il manque quatre jours le 19, puis il manque trois jours lorsque nous arrivons au 22, et deux jours manquent le 25.
Les jours sautés ne sont pas des données manquantes. Ce ne sont tout simplement pas des données dans notre ensemble de données. Ce que nous allons traiter, ce sont les données manquantes, que vous voyez représentées avec ces valeurs NaN ou aucune valeur.
Maintenant que nous avons notre ensemble de données, utilisons nos différents types d'interprétation et enregistrons-les sous différentes colonnes. Nous pouvons voir que nous avons object , qui est représenté par un texte, et nous avons également un float .
Je vais isoler la colonne Date en utilisant la notation parenthèse. Ensuite, je vais utiliser des égaux pour attribuer ceci. Je vais utiliser la variable pd , puis j'utilise simplement la fonction to_datetime. Et puis, je fermerai cette fonction avec la parenthèse et ajouterai dans la colonne Date.
Nous pouvons voir que nous avons maintenant la date comme type de données approprié.
Nous avons un index ici, qui est indiqué par les numéros 1 à 18. Lorsque nous faisons Linéaire, il utilisera ces numéros pour créer une connexion linéaire entre les points de données existants. Mais nous voulons également pouvoir utiliser une interpolation pondérée dans le temps, qui regarde le temps et nous donne les résultats basés sur les jours réels. Nous voulons définir la colonne Date comme index, afin de pouvoir l'utiliser.
Je vais utiliser ma variable de trame de données (df) et faire set_index. Nous devons transmettre un paramètre appelé inplace pour nous assurer qu'il est transmis de manière permanente. Donc, je vais utiliser inplace est égal à vrai, puis je vais appuyer sur Maj et entrer. Et avec cela, vous pouvez voir que l'index numérique a disparu, et nous avons un index Datetime.
Maintenant, nous pouvons commencer à construire les colonnes que nous voulons. Construisons une colonne où nous interpolons le point de données le plus proche, qui remplira ces valeurs manquantes avec la valeur la plus proche. Nous voulons créer une colonne appelée users_nearest et nous voulons l'affecter à une colonne Users .
Nous voulons créer une colonne appelée user_nearest et nous voulons l'affecter à une colonne utilisateur. Et maintenant que nous avons cette colonne isolée, nous pouvons utiliser la fonction d'interpolation , et nous pouvons appuyer sur Maj-Tab pour voir quels paramètres cette fonction prend. Il existe de nombreux types de méthodes.
Vous pouvez voir que la valeur par défaut est linéaire, et si vous voulez qu'elle voie toutes les différentes méthodes, il y a des informations à l'intérieur. Vous pouvez l'ouvrir complètement et il y a beaucoup d'informations ici qui vous donneront beaucoup d'informations. Mais il est toujours préférable d'aller sur le site Pandas et de voir quels sont les différents types d'interpolations.
Nous allons maintenant transmettre la méthode que nous voulons et nous allons utiliser la méthode d'interpolation la plus proche. Tout ce que nous avons à faire est de l'exécuter, et vous pouvez voir qu'une colonne est créée. Si nous regardons cette ligne particulière, nous pouvons voir cela comme une valeur manquante. Et vous pouvez voir qu'il a été interpolé là où il a pris la valeur la plus proche et l'a ajouté ici. Comme vous pouvez le voir, nous n'avons plus de valeurs manquantes pour cette ligne particulière.
Maintenant, copions ceci deux fois et changeons le nom de ces colonnes en user_linear et user_time . Nous modifierons également les méthodes pour qu'elles correspondent à nos en-têtes. Nous pouvons décaler et entrer, et vous pouvez voir que nous avons créé trois colonnes basées sur différents types de méthodes d'interpolation.
Ensuite, je veux créer une autre colonne particulière qui nous permet d'indiquer lesquelles d'entre elles sont vides, comme un drapeau dans nos données. Nous allons utiliser Numpy pour cela.
Donc, nous allons simplement créer une nouvelle colonne appelée df , puis nous allons l'appeler flag. Nous allons attribuer cela avec ce signe égal. Ensuite, nous allons utiliser np , qui est notre variable Numpy. Et ensuite, nous allons utiliser la fonction where , qui est une fonction conditionnelle. Nous définissons la condition, puis nous obtenons un exemple pour vrai et faux. Nous utilisons des doubles égaux, qui sont égaux en Python. Quand c'est vrai, nous voulons dire Missing Data . L'autre option sera Data .
Nous pouvons utiliser ce drapeau dans notre visuel. Une fois que nous sommes dans votre bloc-notes, passez à la transformation et appuyez sur exécuter le script Python. Maintenant, il y a quelques étapes différentes. Nous devons faire en sorte que cela fonctionne dans l' environnement LuckyTemplates .
Nous avons tous nos codes ici et nous devons ajouter quelques étapes supplémentaires. Premièrement, lorsque nous traitons de la date et de l'heure, nous devons ajouter un paramètre d'erreur indiquant que si nous avons des erreurs, vous pouvez forcer ou tenter de le modifier. Donc, je vais mettre ici les erreurs equal , puis les parenthèses coerce . Ensuite, nous devons réaffecter la variable de jeu de données en tant que df.
Lorsque nous cliquons sur OKAY, nous obtenons une autre erreur, et c'est ce que nous devons faire pour résoudre ce problème. Si nous dépassons nos étapes, nous ne devons pas formater notre date. Nous laisserons Python travailler avec les dates car les dates sont uniques pour chaque plate-forme. La première chose que nous devons faire est de nous débarrasser de Changed Type .
Nous n'avons pas la colonne Date car la date est l'index. Donc, nous revenons à notre script Python, puis nous réinitialisons simplement notre index, df.reset_index . Nous disons que nous voulons le réinitialiser sur le contournement de la colonne Date dans cette parenthèse, puis nous voulons faire inplace = true .
Et maintenant, nous avons la date et tous nos autres types de données sont complets.
Si nous mettons cela dans un visuel, voici à quoi cela ressemble dans trois méthodes d'interpolation différentes pour la gestion des données manquantes en Python.
Taux de change dans LuckyTemplates : Gestion des données manquantes
Script Python dans les rapports de données LuckyTemplates
Comment charger des exemples de jeux de données dans Python
Conclusion
Vous avez appris dans ce didacticiel trois méthodes d'interpolation dans la gestion des données manquantes en Python . Nous avons discuté des méthodes d'interpolation de temps linéaire, la plus proche et pondérée.
J'espère que vous trouverez cela utile et que vous l'appliquerez dans votre propre travail. Vous pouvez regarder le didacticiel vidéo complet ci-dessous pour plus de détails et consulter les liens ci-dessous pour plus de contenu connexe sur la gestion des données manquantes dans Python.
Tous mes vœux!
Gaëlim
Qu'est-ce que le self en Python ? Exemples concrets
Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.
Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.
Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.
Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.
Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.
Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.
Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.
Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.
Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir