Personalizando a importação do pandas
O pacote pandas
é excelente para lidar com muitos dos problemas que você terá.
você encontra ao importar dados como um cientista de dados, como comentários
que ocorrem em arquivos simples, linhas vazias e valores ausentes (NA
ou NaN
). Para encerrar este capítulo, você importará um arquivo
cópia do conjunto de dados do Titanic titanic_corrupt.txt
, que contém comentários após o caractere '#'
, e é delimitado por tabulação.
Os principais argumentos para pd.read_csv()
incluem:
sep
define o delimitador esperado.Você pode usar
','
para delimitação por vírgula.Você pode usar
'\t'
para delimitação por tabulação.
comment
assume os caracteres após os quais os comentários ocorrem no arquivo, indicando que qualquer texto que comece com esses caracteres deve ser ignorado.na_values
recebe uma lista de cadeias de caracteres para você 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 de exercício
Complete os argumentos de
pd.read_csv()
para importartitanic_corrupt.txt
corretamente usando pandas:sep
define o delimitador a ser usado e funciona da mesma forma que o argumentodelimiter
do sitenp.loadtxt()
. Observe que o arquivo que você está importando é delimitado por tabulação.comment
assume os caracteres após os quais os comentários ocorrem no arquivo, que, nesse caso, é'#'
.na_values
recebe uma lista de cadeias de caracteres a serem tratadas comoNA
/NaN
, nesse caso a cadeia de caracteres'Nothing'
.
Execute o restante do código para imprimir o cabeçalho do DataFrame resultante e desenhe o histograma do
'Age'
de passageiros a bordo do Titanic.
Exercício interativo prático
Experimente este exercício preenchendo 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()