Salut! En tant que fournisseur de produits NAN, j'ai traité une tonne de données dans Pandas Dataframes, et un problème embêtante qui apparaît toujours est ces valeurs «nan». Vous savez, ces petits blancs qui peuvent gâcher toute votre analyse si vous ne faites pas attention. Dans ce blog, je vais partager quelques conseils sur la façon de gérer ces valeurs «nan» comme un pro.
Tout d'abord, parlons de ce que signifie «nan». «Nan» représente «pas un nombre», et c'est essentiellement la manière Pandas »de dire qu'il y a des données manquantes ou invalides dans votre dataframe. Cela peut arriver pour toutes sortes de raisons - peut-être que les données n'ont pas été collectées correctement, ou qu'il y avait une erreur dans la saisie de données. Quelle que soit la cause, les valeurs «nan» peuvent vraiment jeter une clé dans votre analyse de données, il est donc important de savoir comment les gérer.
L'une des façons les plus simples de gérer les valeurs «nan» consiste à les laisser tomber. Pandas a une méthode vraiment pratique appeléebaisse ()que vous pouvez utiliser pour vous débarrasser de toutes les lignes ou colonnes contenant des valeurs «nan». Voici un exemple:
Importer des pandas en tant que Pd Import Numpy comme np # Créez un exemple de données de données avec les valeurs 'nan' data = {'col1': [1, 2, np.nan, 4], 'Col2': [5, np.nan, 7, 8], 'Col3': [9, 10, 11, np.nan]} df = pd.dataframe (data) # drop rows avec 'nan' DF_DROPPED_ROWS = DF.DROPNA () # Colonnes Drop avec les valeurs 'nan' DF_DROPPED_COLS = DF.DROPNA (AXIS = 1)
Dans le code ci-dessus,baisse ()Sans aucun argument, abandonnera les lignes qui contiennent au moins une valeur «nan». Si tu passeaxe = 1, il abandonnera les colonnes à la place. Cette méthode est excellente si vous avez beaucoup de données et que les valeurs «nan» sont relativement rares, mais cela peut également entraîner une perte importante de données s'il y a beaucoup de valeurs «nan».
Une autre option consiste à remplir les valeurs «nan» avec une valeur spécifique. Pandas a une méthode appeléeRemplir ()que vous pouvez utiliser pour le faire. Vous pouvez remplir les valeurs «nan» avec une valeur constante, la moyenne, la médiane ou le mode de la colonne, ou même la valeur précédente ou suivante dans la colonne. Voici quelques exemples:
# Remplissez les valeurs 'nan' avec une valeur constante df_fild_constant = df.fillna (0) # remplissez les valeurs 'nan' avec la moyenne de la colonne df_fild_mean = df.fillna (df.mean ()) # remplissage des valeurs nan 'avec la valeur précédente dans la colonne df_fild_prev = df. Valeur dans la colonne df_fild_next = df.fillna (méthode = 'bfill')
Le remplissage des valeurs «nan» peut être un bon moyen de préserver vos données, mais vous devez faire attention à la valeur que vous utilisez pour les remplir. L'utilisation de la moyenne ou de la médiane peut bien fonctionner si les données sont normalement distribuées, mais cela peut ne pas être approprié si les données ont beaucoup de valeurs aberrantes.
Si vous traitez avec des données de séries chronologiques, vous voudrez peut-être utiliser l'interpolation pour remplir les valeurs «nan». L'interpolation est une méthode d'estimation des valeurs entre les points de données connus. Pandas a une méthode appeléeinterpoler()que vous pouvez utiliser pour le faire. Voici un exemple:
# Interpolate 'nan' valeurs df_interpolated = df.interpolate ()
L'interpolation peut être un excellent moyen de remplir les valeurs «nan» dans les données de séries chronologiques car elle prend en compte la tendance des données. Cependant, il est important de noter que l'interpolation n'est qu'une estimation, et les valeurs réelles pourraient être différentes.
Maintenant, parlons de certaines techniques plus avancées pour gérer les valeurs «nan». Une approche consiste à utiliser des algorithmes d'apprentissage automatique pour prédire les valeurs manquantes. Vous pouvez former un modèle sur les données non manquantes, puis les utiliser pour prédire les valeurs «nan». Cela peut être un moyen plus précis de remplir les valeurs «nan», mais cela nécessite également plus de ressources de calcul et d'expertise.
Une autre approche consiste à utiliser une imputation multiple. L'imputation multiple est une technique statistique qui implique la création de plusieurs copies de DataFrame, le remplissage des valeurs «nan» dans chaque copie en utilisant une méthode différente, puis combinant les résultats. Cela peut aider à réduire le biais et l'incertitude associés au remplissage des valeurs «nan».
D'après mon expérience en tant que fournisseur NAN, j'ai constaté qu'une combinaison de ces techniques fonctionne généralement mieux. Par exemple, je pourrais commencer par supprimer des lignes ou des colonnes avec un grand nombre de valeurs «nan», puis remplir les valeurs «nan» restantes en utilisant une combinaison de valeurs constantes, de moyenne et d'interpolation. Et si j'ai besoin d'une estimation plus précise, je pourrais utiliser l'apprentissage automatique ou l'imputation multiple.
Avant de conclure, je veux mentionner quelques produits qui pourraient vous intéresser. Si vous êtes dans l'industrie de l'imprimerie, vous voudrez peut-être vérifierEncre sublimation de la teinture. C'est une encre de haute qualité qui est parfaite pour imprimer sur une variété de matériaux. Et si vous êtes dans l'industrie pharmaceutique, vous pourriez être intéressé parFlorfenicol CAS no.: 73231-34-2etChlorhydrate d'oxytétracycline HCL CAS no.: 2058-46-0. Ce sont tous deux des matières premières pharmaceutiques API qui sont largement utilisées dans la production d'antibiotiques.
Si vous êtes intéressé par l'un de nos produits NAN ou que vous avez des questions sur la gestion des valeurs «NAN» dans vos données, n'hésitez pas à tendre la main pour une discussion sur les achats. Nous sommes toujours heureux de vous aider!


Références:
- McKinney, W. (2012). Python pour l'analyse des données: les données se disputant avec Pandas, Numpy et Ipython. O'Reilly Media.
- Vanderplas, J. (2016). Python Data Science Handbook: outils essentiels pour travailler avec les données. O'Reilly Media.
