Prática recomendada para limpar colunas de dataframe do Pandas
Sep 29 2020
Estou limpando colunas str em um dataframe do Pandas (veja um exemplo abaixo) e tenho me perguntado se há maneiras mais concisas ou métodos locais adicionais de fazer isso. Quais são as práticas recomendadas gerais para a limpeza de colunas no Pandas?
import pandas as pd
df = pd.DataFrame.from_dict({"col1": [0, 1, 2, 3], "col2": ["abcd efg", ".%ues", "t12 ^&3", "yupe"]})
df["col2"] = df["col2"].str.lower()
df["col2"] = df["col2"].str.strip()
df["col2"].replace(to_replace="[^a-zA-Z ]", value="", regex=True, inplace=True)
Respostas
2 MaartenFabré Sep 29 2020 at 18:19
Isso não é tão ruim. É uma boa coisa você usar argumentos de palavra-chave para oreplace method
Sempre tento manter meus dados originais em seu estado original e continuo com o dataframe limpo.
estilo fluente
Isso se presta muito bem a um tipo de estilo fluente como neste exemplo . Eu usá-lo também, e usar um monte de df.assign, df.pipe, df.query...
Neste exemplo, eu faria algo como
df_cleaned = df.assign(
col2=(
df["col2"]
.str.lower()
.str.strip()
.replace(to_replace="[^a-zA-Z ]", value="", regex=True)
)
)
Definitivamente, sem inplacesubstituições
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?