Tenho um aplicativo que pega uma planilha de entrada preenchida pelo usuário. Estou tentando consertar um bug e acabei de perceber que em uma coluna True/False, eles escreveram FLASE
em vez de FALSE
. Estou tentando escrever o máximo de soluções alternativas para erros do usuário que puder, pois os usuários deste aplicativo não são muito técnicos, então eu queria saber se há uma maneira de converter esta coluna para o tipo bool, mas definir quaisquer erros de digitação como False? Eu entendo que isso também definiria algo como TURE como falso.
Por exemplo:
df = pd.DataFrame({'bool_col':['True', 'Flase', 'False', 'True'], 'foo':[1,2,3,4]})
A execução df['bool_col'] = df['bool_col'].astype(bool)
retorna True para tudo (já que todas são strings não vazias), no entanto, eu gostaria que ele retornasse True, False, False, True.
Eu estava ansioso demais para perguntar isso, mas caso ajude alguém:
Definirá apenas os valores True como true e todo o resto como False.
Se você quiser uma abordagem genérica, você pode usar correspondência difusa, por exemplo com
thefuzz
:Exemplo: