pbj0812의 코딩 일기

[수학] PYTHON 을 이용한 문서 단어 행렬(DTM) 구현 본문

Science/수학

[수학] PYTHON 을 이용한 문서 단어 행렬(DTM) 구현

pbj0812 2020. 11. 23. 00:17

0. 목표

 - PYTHON 을 이용한 문서 단어 행렬(Document-Term Matrix, DTM ) 구현

1. 실습

 1) library 호출

import pandas as pd

 2) DTM 계산 모듈 구현

  - *args 를 이용하여 여러개의 데이터를 인풋으로 받을 수 있게 설계 

def doc(*args):
    doc_list = []
    df = pd.DataFrame()
    for i in args:
        # 단어 분해
        tmp_list = i.split(' ')
        # 리스트 결합
        doc_list += tmp_list
    doc_list = list(set(doc_list))
    for i in doc_list:
        tmp = []
        for j in args:
            # 단어 분해
            tmp_list = j.split(' ')
            # 단어 세기
            tmp.append(tmp_list.count(i))
        # 데이터 프레임 추가
        df[i] = tmp
    return df

 3) 데이터 생성

doc1  = 'I am a boy'
doc2 = 'I am a girl'
doc3 = 'I am a a a man'

 4) 테스트

result = doc(doc1, doc2, doc3)
result

  - 결과

2. 참고

 - 찾고자 하는 항목이, 파이썬의 리스트에 몇개나 들어있는지 확인하는 count 함수

 - 3) 문서 단어 행렬(Document-Term Matrix, DTM)

 - python - 빈 데이터 프레임을 만들어 적용하는 방법

Comments