Personaliza tu importación de pandas
El paquete pandas es excelente para tratar muchos de los problemas que te plantearás
encontrar al importar datos como científico de datos, como comentarios
que se producen en archivos planos, líneas vacías y valores que faltan (NA o NaN). Para terminar este capítulo, vas a importar un archivo corrupto
copia del conjunto de datos de Titanic titanic_corrupt.txt, que contiene comentarios después del carácter '#', y está delimitado por tabulaciones.
Los argumentos clave para pd.read_csv() incluyen:
sepestablece el delimitador esperado.Puedes utilizar
','para delimitado por comas.Puedes utilizar
'\t'para delimitado por tabulaciones.
commenttoma los caracteres que aparecen después en el archivo, indicando que cualquier texto que comience con estos caracteres debe ignorarse.na_valuestoma una lista de cadenas para identificarlas comoNA/NaN. Por defecto, algunos valores ya se reconocen comoNA/NaN. Si proporcionas este argumento, obtendrás valores adicionales.
Este ejercicio forma parte del curso
Introducción a la importación de datos en Python
Instrucciones del ejercicio
Completa los argumentos de
pd.read_csv()para importartitanic_corrupt.txtcorrectamente utilizando pandas:sepestablece el delimitador que se va a utilizar y funciona de la misma manera que el argumentodelimiterdenp.loadtxt(). Ten en cuenta que el archivo que estás importando está delimitado por tabulaciones.commenttoma los caracteres que aparecen después de los comentarios en el archivo, que en este caso es'#'.na_valuestoma una lista de cadenas que se tratarán comoNA/NaN, en este caso la cadena'Nothing'.
Ejecuta el resto del código para imprimir el encabezado del DataFrame resultante y trazar el histograma del
'Age'de pasajeros a bordo del Titanic.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()