본문 바로가기

분류 전체보기1074

[파이썬] pandas 행열(Column, Row) 전환 예제로 사용할 데이터를 만듭니다. from pandas import Series, DataFrame raw_data = {'col0': [1, 2, 3, 4], 'col1': [10, 20, 30, 40], 'col2': [100, 200, 300, 400]} data = DataFrame(raw_data) transpose()를 사용하면 Column, Row가 전환됩니다. data2 = data.transpose() Column명을 변경합니다. data2.columns = ['col1','col2','col3','col4'] index를 조회해보면 아래와 같이 나옵니다. 원데이터의 Column 명으로 되어 있습니다. data2.index index 즉 원데이터의 Column명을 다시 'name'이라는 .. 2022. 8. 25.
[파이썬] 엑셀 xls(html) 파일 읽기 파이썬에서 엑셀(xls) 파일을 읽기 중 다음과 같이 html 형태로 되어 있는 경우가 있습니다. 일반적인 파이썬 방법으로는 읽지 못합니다. 다음과 같은 코드로 읽어야 합니다. import pandas as pd file = 'e:/RnD/Tensorflow/가격정보_쌀_20211201_20211231.xls' df = pd.read_html(file)[0] 다음과 같이 DataFrame 데이터가 됩니다. 2022. 8. 25.
[파이썬] NLP-Word2Vec로 단어 및 문장 유사도 분석 여러 방법으로 Word2Vec을 만들 수 있습니다. 여기서는 gensim package를 활용해서 Word2Vec을 만들겠습니다. Word2Vec을 사용해 보면 놀라울 정도로 잘 동작한다는 것으로 알 수 있습니다. 더 정확성을 높이려면 학습량을 늘리면 될 것입니다. 대신 시간이 오래 걸리죠. 다음과 같은 순서로 진행 합니다. 1) 한글 데이터 받기 1-1) Wiki 한글 데이터를 받습니다. 1-2) 받은 bz2 압축파일을 풀어서 Text 파일로 만듭니다. 2) 데이터 전처리 - 특수문자 제거 및 품사 처리 3) Word2Vec 학습 4) Word2Vec 사용 1-1) Wiki 한글 데이터 받기 - 아래 정리된 방법으로 받습니다. [파이썬] 위키피디아(Wiki) 한글 자료 Dump (tistory.com).. 2022. 8. 24.
[파이썬] gensim.models.Word2Vec 에러(__init__() got an unexpected keyword argument 'iter') gensim.models.Word2Vec를 사용 중 다음과 같은 에러가 발생했습니다. 자료를 찾아서 아래와 같이 수정했습니다. # 'iter': 10, # 보통 딥러닝에서 말하는 epoch과 비슷한, 반복 횟수 'epochs': 10, # 보통 딥러닝에서 말하는 epoch과 비슷한, 반복 횟수 config = { 'min_count': 5, # 등장 횟수가 5 이하인 단어는 무시 # 'size': 350, # 300차원짜리 벡터스페이스에 embedding 'vector_size': 350, # 300차원짜리 벡터스페이스에 embedding 'sg': 1, # 0이면 CBOW, 1이면 skip-gram을 사용한다 'batch_words': 10000, # 사전을 구축할때 한번에 읽을 단어 수 # 'iter.. 2022. 8. 23.
[파이썬] gensim.models.Word2Vec 에러(__init__() got an unexpected keyword argument 'size') gensim.models.Word2Vec를 사용 중 다음과 같은 에러가 발생했습니다. 자료를 찾아서 아래와 같이 수정했습니다. # 'size': 350, # 300차원짜리 벡터스페이스에 embedding 'vector_size': 350, # 300차원짜리 벡터스페이스에 embedding config = { 'min_count': 5, # 등장 횟수가 5 이하인 단어는 무시 # 'size': 350, # 300차원짜리 벡터스페이스에 embedding 'vector_size': 350, # 300차원짜리 벡터스페이스에 embedding 'sg': 1, # 0이면 CBOW, 1이면 skip-gram을 사용한다 'batch_words': 10000, # 사전을 구축할때 한번에 읽을 단어 수 # 'iter': .. 2022. 8. 23.
[파이썬] bz2 파일 text로 저장 하기 bz2 압축파일을 읽고 Text 파일로 저장합니다. ##################### ## bz2 압축 풀기 ##################### import bz2 # bz2 파일 읽기 with open("kowiki-20220820-pages-articles-multistream1.xml-p1p82407.bz2","rb") as f: data = f.read() decom_data = bz2.decompress(data).decode() print(decom_data[:500]) # 내용 확인 하기 # text 파일로 저장 f = open('wiki_data.txt','w',encoding='UTF-8') f.write(decom_data) f.close() 2022. 8. 22.
[파이썬] 위키피디아(Wiki) 한글 자료 Dump Wiki 데이터를 전부 Dump 받으려고 시도했습니다. WikiExtractor를 사용하는 방법이 있는데, 제 PC에서는 에러가 발생해서 사용할 수가 없었습니다. 그래서 다음과 같이 작업을 진행했습니다. 1) 아래 Wiki에서 Dump 데이터를 다운 받을 수 있도록 해 두었습니다. 위키백과:데이터베이스 다운로드 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 위키백과:데이터베이스 다운로드 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 이 문서는 한국어 위키백과의 정보문입니다.이 문서는 정책과 지침은 아니지만, 위키백과의 규범과 관습 측면에서 공동체의 확립된 관행을 설명하고 있습니다 ko.wikipedia.org '여기'(빨간Box)를 클릭합니다. 2) 기간 선택 P.. 2022. 8. 22.
[파이썬] 에러('cp949' codec can't encode character '\u2013' in position 176: illegal multibyte sequence) 파일 Open 하여 Write 중 에러가 발생했습니다. f = open('wiki_data.txt','w') f.write(data) f.close() 다음과 같이 에러가 발생했습니다. --------------------------------------------------------------------------- UnicodeEncodeError Traceback (most recent call last) Input In [21], in () 13 f = open('wiki_data2.txt','w') ---> 16 f.write(data) 17 f.close() UnicodeEncodeError: 'cp949' codec can't encode character '\u2013' in positi.. 2022. 8. 22.
[파이썬] nltk에서 에러(Resource punkt not found) nltk package로 작업 시 다음과 같은 코드에서 에러가 발생했습니다. data = data[['article_text']] data['sentences'] = data['article_text'].apply(sent_tokenize) 에러 내용 LookupError: ********************************************************************** Resource punkt not found. Please use the NLTK Downloader to obtain the resource: >>> import nltk >>> nltk.download('punkt') jupyter에서 다음과 같이 했습니다. import nltk nltk.download(.. 2022. 8. 22.
[파이썬/법칙] 콜라츠 추측 재미있는 것이라서 파이썬으로 만들어 봤습니다. [콜라츠 추측(collatz conjecture)] - 1937년 Collatz란 사람에 의해 제기된 추측 규칙> 1. 입력된 수가 짝수라면 2로 나눕니다. 2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 3. 1이 될 때까지 반복 (1->4->2->1 반복) 예> - 수가 13이라면 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 이 1 이 됩니다. - 마지막 1은 홀수여서 1*3+1=4가 되고, 4/2=2가 되고, 2/2=1 로 되어 반복됩니다. 문제> - 반례를 찾지 못함 참고> https://ko.wikipedia.org/wiki/%EC%BD%9C%EB%9D%BC%EC%B8%A0_%EC%B6%94%EC%B8%A1 다음과 같이 간단한.. 2022. 8. 21.
728x90
반응형