Personalização da importação do pandas
O pacote pandas é excelente para lidar com muitos dos problemas que você enfrentará
ao importar dados como cientista de dados, como comentários
que ocorrem em arquivos simples, linhas vazias e valores faltantes (NA ou NaN). Para encerrar este capítulo, você importará uma
cópia corrompida do conjunto de dados titanic_corrupt.txt do Titanic, que contém comentários após o caractere '#', e é delimitado por tabulação.
Os principais argumentos de pd.read_csv() incluem:
sepdefine o delimitador esperado.Você pode usar
','para delimitação por vírgula.Você pode usar
'\t'para delimitação por tabulação.
commentaceita os caracteres que aparecem após os comentários no arquivo, indicando que qualquer texto que comece com esses caracteres deve ser ignorado.na_valuesaceita uma lista de strings para identificar comoNA/NaN. Por padrão, alguns valores já são reconhecidos comoNA/NaN. Ao fornecer esse argumento, você fornecerá valores adicionais.
Este exercício faz parte do curso
Introdução à importação de dados em Python
Instruções do exercício
Preencha os argumentos de
pd.read_csv()para importartitanic_corrupt.txtcorretamente usando o pandas:sepdefine o delimitador a ser usado e funciona da mesma forma que odelimiterargumentonp.loadtxt()de 's. Lembre-se de que o arquivo que você está importando é delimitado por tabulação.commentpega os caracteres que aparecem depois dos comentários no arquivo, que, neste caso, é'#'.na_valuesaceita uma lista de strings que devem ser tratadas comoNA/NaN; neste caso, a string'Nothing'.
Execute o restante do código para imprimir o cabeçalho do DataFrame resultante e desenhe o histograma de
'Age'dos passageiros a bordo do Titanic.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
# Assign filename: file
file = 'titanic_corrupt.txt'
# Import file: data
data = pd.read_csv(file, sep='____', comment='____', na_values=[____])
# Print the head of the DataFrame
print(data.head())
# Plot 'Age' variable in a histogram
pd.DataFrame.hist(data[['Age']])
plt.xlabel('Age (years)')
plt.ylabel('count')
plt.show()