เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การดึงข้อมูลจาก Twitter ปริมาณมาก

ทำได้ดีมากกับการแบ่งไฟล์เป็น chunk ในแบบฝึกหัดที่แล้ว ตอนนี้รู้วิธีจัดการกับสถานการณ์ที่ต้องประมวลผลไฟล์ขนาดใหญ่แล้ว ซึ่งเป็นทักษะที่มีประโยชน์มาก!

การประมวลผลไฟล์เป็น chunk เล็ก ๆ ที่จัดการได้ง่ายขึ้นเป็นสิ่งดี แต่การเขียนโค้ดซ้ำ ๆ สำหรับงานเดิมทุกครั้งอาจน่าเบื่อมาก ในแบบฝึกหัดนี้ จะนำโค้ดจากแบบฝึกหัดก่อนหน้ามาทำให้ นำกลับมาใช้ใหม่ได้ โดยบรรจุไว้ใน นิยามฟังก์ชัน

แพ็กเกจ pandas ถูก import มาเป็น pd แล้ว และไฟล์ 'tweets.csv' อยู่ในไดเรกทอรีปัจจุบันพร้อมให้ใช้งาน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python Toolbox

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดฟังก์ชัน count_entries() ที่มี 3 พารามิเตอร์ พารามิเตอร์แรกคือ csv_file สำหรับชื่อไฟล์, พารามิเตอร์ที่สองคือ c_size สำหรับขนาด chunk, และพารามิเตอร์สุดท้ายคือ colname สำหรับชื่อคอลัมน์
  • วนซ้ำผ่านไฟล์ใน csv_file โดยใช้ for loop ใช้ตัวแปรลูป chunk และวนซ้ำผ่านการเรียก pd.read_csv() โดยส่ง c_size ให้กับ chunksize
  • ในลูปด้านใน ให้วนซ้ำผ่านคอลัมน์ที่ระบุใน colname ของ chunk โดยใช้ for loop ใช้ตัวแปรลูป entry
  • เรียกฟังก์ชัน count_entries() โดยส่งชื่อไฟล์ 'tweets.csv', ขนาด chunk 10, และชื่อคอลัมน์ที่ต้องการนับ 'lang' จากนั้นกำหนดผลลัพธ์ของการเรียกนี้ให้กับตัวแปร result_counts

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด