การประมวลผลข้อมูล Twitter ขนาดใหญ่
บางครั้งข้อมูลที่ต้องประมวลผลมีขนาดใหญ่เกินกว่าที่หน่วยความจำของคอมพิวเตอร์จะรองรับได้ ซึ่งเป็นปัญหาที่นักวิทยาศาสตร์ข้อมูลพบเจอบ่อย วิธีแก้ไขคือการประมวลผลแหล่งข้อมูลทีละ chunk แทนที่จะโหลดทั้งหมดพร้อมกันในครั้งเดียว
ในแบบฝึกหัดนี้ จะได้ลองทำแบบนั้นดู โดยประมวลผลไฟล์ csv ขนาดใหญ่ของข้อมูล Twitter ในลักษณะเดียวกับที่เคยทำกับ 'tweets.csv' ในแบบฝึกหัด Bringing it all together ของคอร์สก่อนหน้า แต่คราวนี้จะประมวลผลครั้งละ 10 รายการ
หากสนใจวิธีดึงข้อมูลจาก Twitter เพื่อนำไปใช้งานบนระบบของตัวเอง สามารถดูได้ที่ Part 2 ของคอร์ส Importing Data in Python บน DataCamp
ได้นำเข้าแพ็กเกจ pandas ในชื่อ pd แล้ว และไฟล์ 'tweets.csv' อยู่ใน directory ปัจจุบันพร้อมให้ใช้งาน
โปรดทราบว่านี่คือข้อมูลจริงจาก Twitter ซึ่งอาจมีเนื้อหาที่ไม่เหมาะสมหรือภาษาหยาบคายปะปนอยู่ (ทั้งในแบบฝึกหัดนี้และแบบฝึกหัดถัดไปที่ใช้ข้อมูล Twitter จริง)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python Toolbox
คำแนะนำการฝึกหัด
- สร้าง dictionary ว่างเปล่าชื่อ
counts_dictสำหรับเก็บผลลัพธ์จากการประมวลผลข้อมูล Twitter - วนซ้ำผ่านไฟล์
'tweets.csv'โดยใช้forloop ใช้chunkเป็นตัวแปรลูป และวนซ้ำผ่านการเรียกpd.read_csv()โดยกำหนดchunksizeเป็น 10 - ในลูปด้านใน ให้วนซ้ำผ่านคอลัมน์
'lang'ในchunkโดยใช้forloop และใช้entryเป็นตัวแปรลูป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize an empty dictionary: 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
# Print the populated dictionary
print(counts_dict)