ПочатиПочніть безкоштовно

Налаштування імпорту в pandas

Пакет pandas чудово справляється з багатьма проблемами, з якими ви стикаєтеся під час імпорту даних як дата-сайентитст, зокрема з коментарями у плоских файлах, порожніми рядками та пропущеними значеннями (NA або NaN). На завершення цього розділу ви імпортуєте пошкоджену копію набору даних Titanic — titanic_corrupt.txt, у якій є коментарі після символу '#', і файл є tab-delimited (розділення табуляцією).

Ключові аргументи для pd.read_csv():

  • sep задає очікуваний роздільник.
    • Можна використовувати ',' для розділення комами.
    • Можна використовувати '\t' для розділення табуляцією.
  • comment приймає символ(и), після яких у файлі починаються коментарі. Будь-який текст, що починається з цих символів, ігнорується.
  • na_values приймає список рядків, які слід вважати NA/NaN. Типово деякі значення вже розпізнаються як NA/NaN. Цей аргумент додає додаткові значення.

Ця вправа є частиною курсу

Вступ до імпорту даних у Python

Переглянути курс

Інструкції до вправи

  • Заповніть аргументи pd.read_csv(), щоб коректно імпортувати titanic_corrupt.txt за допомогою pandas:
    • sep задає роздільник і працює так само, як аргумент delimiter у np.loadtxt(). Зверніть увагу: файл розділено табуляцією.
    • comment приймає символ(и), після яких у файлі починаються коментарі; у цьому випадку це '#'.
    • na_values приймає список рядків, які слід трактувати як NA/NaN; у цьому випадку це рядок 'Nothing'.
  • Запустіть решту коду, щоб вивести перші рядки отриманого датафрейму та побудувати гістограму '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()
Редагувати та запускати код