Trích xuất thông tin từ lượng dữ liệu Twitter lớn
Bạn đã làm rất tốt khi chia nhỏ tệp ở bài trước. Giờ bạn đã biết cách xử lý tình huống phải làm việc với một tệp rất lớn — đây là một kỹ năng vô cùng hữu ích!
Biết cách xử lý tệp theo các phần nhỏ, dễ quản lý là rất tốt, nhưng việc phải viết đi viết lại cùng một đoạn mã cho cùng một tác vụ có thể trở nên rất tẻ nhạt. Trong bài tập này, bạn sẽ giúp mã của mình dễ tái sử dụng hơn bằng cách đóng gói công việc ở bài trước vào một định nghĩa hàm.
Gói pandas đã được nhập dưới tên pd và tệp 'tweets.csv' đã có sẵn trong thư mục hiện tại để bạn sử dụng.
Bài tập này là một phần của khóa học
Hộp Công Cụ Python
Hướng dẫn bài tập
- Định nghĩa hàm
count_entries()với 3 tham số. Tham số thứ nhất làcsv_filecho tên tệp, tham số thứ hai làc_sizecho kích thước khối, và tham số cuối cùng làcolnamecho tên cột. - Duyệt qua tệp trong
csv_filebằng một vòng lặpfor. Dùng biến lặpchunkvà lặp qua lời gọipd.read_csv(), truyềnc_sizevàochunksize. - Ở vòng lặp trong, lặp qua cột được chỉ định bởi
colnametrongchunkbằng một vòng lặpfor. Dùng biến lặpentry. - Gọi hàm
count_entries()với tên tệp'tweets.csv', kích thước khối10, và tên cột cần đếm'lang'. Gán kết quả trả về cho biếnresult_counts.
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.
# Define count_entries()
def ____():
"""Return a dictionary with counts of
occurrences as value for each key."""
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Iterate over the file chunk by chunk
for ____ in ____:
# Iterate over the column in DataFrame
for ____ in ____:
if entry in counts_dict.keys():
counts_dict[entry] += 1
else:
counts_dict[entry] = 1
# Return counts_dict
return counts_dict
# Call count_entries(): result_counts
result_counts = ____
# Print result_counts
print(result_counts)