"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como substituo valores em branco (espaço em branco) por NaN em um DataFrame do Pandas?

Como substituo valores em branco (espaço em branco) por NaN em um DataFrame do Pandas?

Publicado em 2024-11-08
Navegar:578

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

Substituindo valores em branco (espaço em branco) por NaN em Pandas

A limpeza de dados é uma etapa crucial na análise de dados. Uma tarefa comum é substituir valores em branco (espaços em branco) por NaN. Isso pode ser feito de forma eficiente usando Pandas.

Para conseguir isso, utilize a função df.replace(). Esta função permite uma operação de pesquisa e substituição baseada em expressões regulares em valores DataFrame. Veja como você pode implementá-lo:

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

Observe que este código substitui campos que contêm apenas espaços em branco ou estão vazios (ou seja, correspondem à expressão regular r'^\s*$'**) . Se seus dados válidos contiverem espaços em branco, ajuste o regex de acordo (por exemplo, remova **$ do final de r'^\s ').

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3