Tùy chỉnh cách nhập dữ liệu với pandas
Gói pandas xử lý rất tốt nhiều vấn đề bạn sẽ gặp khi nhập dữ liệu với vai trò nhà khoa học dữ liệu, như các dòng chú thích trong flat file, dòng trống và giá trị thiếu (NA hoặc NaN). Để kết thúc chương này, bạn sẽ nhập một bản sao bị lỗi của bộ dữ liệu Titanic titanic_corrupt.txt, trong đó có các chú thích sau ký tự '#' và được phân tách bằng tab (tab-delimited).
Các đối số chính cho pd.read_csv() gồm có:
sepđặt ký tự phân tách mong đợi.- Bạn có thể dùng
','cho định dạng phân tách bằng dấu phẩy. - Bạn có thể dùng
'\t'cho định dạng phân tách bằng tab.
- Bạn có thể dùng
commentnhận các ký tự mà sau đó là phần chú thích trong tệp, nghĩa là bất kỳ văn bản bắt đầu bằng các ký tự này sẽ bị bỏ qua.na_valuesnhận một danh sách các chuỗi sẽ được nhận diện làNA/NaN. Mặc định đã có một số giá trị được nhận diện làNA/NaN. Cung cấp đối số này sẽ bổ sung thêm các giá trị cần coi là thiếu.
Bài tập này là một phần của khóa học
Nhập dữ liệu vào Python: Giới thiệu
Hướng dẫn bài tập
- Hoàn thiện các đối số của
pd.read_csv()để nhậptitanic_corrupt.txtđúng cách bằng pandas:sepđặt ký tự phân tách sẽ dùng và hoạt động giống đối sốdelimitercủanp.loadtxt(). Lưu ý tệp bạn đang nhập được phân tách bằng tab.commentnhận các ký tự mà sau đó là chú thích trong tệp; trong trường hợp này là'#'.na_valuesnhận một danh sách các chuỗi sẽ được coi làNA/NaN; ở đây là chuỗi'Nothing'.
- Chạy phần mã còn lại để in phần đầu của DataFrame kết quả và vẽ biểu đồ histogram của
'Age'của các hành khách trên tàu Titanic.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()