Phân tích văn bản Twitter đơn giản
Giờ bạn đã có DataFrame chứa các tweet, bạn sẽ làm một chút phân tích văn bản để đếm có bao nhiêu tweet chứa các từ 'clinton', 'trump', 'sanders' và 'cruz'. Trong phần mã trước Bài tập, chúng tôi đã định nghĩa hàm word_in_text() sau, hàm này sẽ cho biết đối số thứ nhất (một từ) có xuất hiện trong đối số thứ hai (một tweet) hay không.
import re
def word_in_text(word, text):
word = word.lower()
text = text.lower()
match = re.search(word, text)
if match:
return True
return False
Bạn sẽ lặp qua các hàng của DataFrame và tính xem có bao nhiêu tweet chứa mỗi từ khóa của chúng ta! Danh sách các biến đếm cho từng ứng viên đã được khởi tạo bằng 0.
Bài tập này là một phần của khóa học
Nhập dữ liệu nâng cao trong Python
Hướng dẫn bài tập
- Trong vòng lặp
forfor index, row in df.iterrows():, đoạn mã hiện tại tăng giá trị củaclintonlên1mỗi khi gặp một tweet (hàng văn bản) có nhắc đến 'Clinton'; hãy hoàn thiện mã để điều tương tự xảy ra vớitrump,sandersvàcruz.
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.
# Initialize list to store tweet counts
[clinton, trump, sanders, cruz] = [0, 0, 0, 0]
# Iterate through df, counting the number of tweets in which
# each candidate is mentioned
for index, row in df.iterrows():
clinton += word_in_text('clinton', row['text'])
trump += word_in_text(____, ____)
sanders += word_in_text(____, ____)
cruz += word_in_text(____, ____)