Maison > développement back-end > Tutoriel Python > Comment remplacer les valeurs vides (espaces) par NaN dans un Pandas DataFrame ?

Comment remplacer les valeurs vides (espaces) par NaN dans un Pandas DataFrame ?

Patricia Arquette
Libérer: 2024-10-30 12:57:26
original
507 Les gens l'ont consulté

How do I replace blank values (whitespace) with NaN in a Pandas DataFrame?

Remplacement des valeurs vides (espaces blancs) par NaN dans Pandas

Le nettoyage des données est une étape cruciale dans l'analyse des données. Une tâche courante consiste à remplacer les valeurs vides (espaces) par NaN. Cela peut être fait efficacement en utilisant Pandas.

Pour y parvenir, utilisez la fonction df.replace(). Cette fonction permet une opération de recherche et de remplacement basée sur une expression régulière sur les valeurs DataFrame. Voici comment l'implémenter :

<code class="python">import numpy as np
import pandas as pd

df = pd.DataFrame([
    [-0.532681, 'foo', 0],
    [1.490752, 'bar', 1],
    [-1.387326, 'foo', 2],
    [0.814772, 'baz', ' '],
    [-0.222552, '   ', 4],
    [-1.176781,  'qux', '  '],
], columns='A B C'.split(), index=pd.date_range('2000-01-01','2000-01-06'))

# Replace fields that contain only whitespace (or are empty) with NaN
print(df.replace(r'^\s*$', np.nan, regex=True))

# Output:
#                    A    B   C
# 2000-01-01 -0.532681  foo   0
# 2000-01-02  1.490752  bar   1
# 2000-01-03 -1.387326  foo   2
# 2000-01-04  0.814772  baz NaN
# 2000-01-05 -0.222552  NaN   4
# 2000-01-06 -1.176781  qux NaN</code>
Copier après la connexion

Notez que ce code remplace les champs qui contiennent uniquement des espaces ou sont vides (c'est-à-dire qu'ils correspondent à l'expression régulière r'^s*$'**). Si vos données valides contiennent des espaces blancs, ajustez l'expression régulière en conséquence (par exemple, supprimez le **$ de la fin pour r'^s ').

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal