НачатьНачать бесплатно

Настройка импорта с помощью pandas

Пакет pandas отлично справляется со многими трудностями, с которыми вы столкнётесь при импорте данных: комментарии в плоских файлах, пустые строки и пропущенные значения (NA или NaN). В завершение этой главы вы импортируете повреждённую копию набора данных Titanic — файл titanic_corrupt.txt. Он содержит комментарии после символа '#' и использует табуляцию в качестве разделителя.

Основные аргументы функции pd.read_csv():

  • sep — задаёт разделитель.
    • ',' — для файлов с разделителем-запятой.
    • '\t' — для файлов с разделителем-табуляцией.
  • comment — символ, после которого в файле начинается комментарий; весь текст после него игнорируется.
  • na_values — список строк, которые следует интерпретировать как NA/NaN. По умолчанию ряд значений уже распознаётся как пропущенные; этот аргумент позволяет добавить дополнительные.

Это упражнение является частью курса

Введение в импорт данных в Python

Посмотреть курс

Инструкции к упражнению

  • Заполните аргументы функции pd.read_csv(), чтобы корректно импортировать файл titanic_corrupt.txt с помощью pandas:
    • sep задаёт разделитель и работает так же, как аргумент delimiter в np.loadtxt(). Обратите внимание, что импортируемый файл использует табуляцию в качестве разделителя.
    • comment принимает символ, после которого в файле начинается комментарий — в данном случае это '#'.
    • na_values принимает список строк, которые будут интерпретироваться как NA/NaN — в данном случае строку 'Nothing'.
  • Выполните остальную часть кода, чтобы вывести первые строки полученного DataFrame и построить гистограмму значений столбца 'Age' для пассажиров Титаника.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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()
Редактировать и запускать код