시작하기무료로 시작하기

대량 Twitter 데이터에서 정보 추출하기

이전 연습 문제에서 파일을 청크로 나누는 작업을 훌륭히 해내셨어요. 아주 큰 파일을 처리해야 하는 상황을 다룰 수 있게 되었고, 이는 정말 유용한 역량입니다!

파일을 더 작고 관리하기 쉬운 청크로 처리하는 방법을 아는 것도 중요하지만, 매번 같은 작업을 위해 같은 코드를 반복해 쓰는 일은 꽤 번거로울 수 있어요. 이번 연습에서는 지난 연습에서의 작업을 함수로 만들어 코드의 재사용성 을 높여 보겠습니다.

pandas 패키지는 pd로 임포트되어 있고, 'tweets.csv' 파일은 현재 작업 디렉터리에 준비되어 있어요.

이 연습은 강의의 일부입니다

Python 도구 상자

강의 보기

연습 안내

  • 3개의 매개변수를 갖는 함수 count_entries()를 정의하세요. 첫 번째 매개변수 csv_file은 파일 이름, 두 번째 c_size는 청크 크기, 마지막 colname은 열 이름입니다.
  • for 루프를 사용해 csv_file에 있는 파일을 순회하세요. 루프 변수는 chunk로 하고, pd.read_csv()를 호출하며 chunksizec_size를 전달해 순회하세요.
  • 안쪽 루프에서는 for 루프를 사용해 chunk에서 colname으로 지정된 열을 순회하세요. 루프 변수는 entry를 사용합니다.
  • 함수 count_entries()를 파일 이름 'tweets.csv', 청크 크기 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)
코드 편집 및 실행