본문 바로가기

Python

Anaconda 에서 KoNLPy 설치하기 아나콘다에서 KoNLPy 를 설치하는 방법에 대해 알아보자. 1. 우선 JDK (Java Development Kit)를 받아야 한다.https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html위의 링크에서 자신의 환경에 맞는 파일을 받아 설치한다. 2. JAVA를 환경변수로 설정해줘야 한다.https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html위 링크에 자세한 설명이 나와있다. Windows 10에 경우 제어판 - 시스템 - 고급 시스템 설정에 들어가면 다음과 같은 화면이 나온다.고급 탭에 환경 변수를 선택한 후 사용자 변.. 더보기
re.search 에서 TypeError: expected string or bytes-like object 라고 뜰 때 정규표현식을 사용해서 re.search 를 이용했는데 간혹 re.search 에서 TypeError: expected string or bytes-like object 라고 뜨면서 돌아가지 않을 때가 있다. 에러 메세지를 잘 보면, string 이나 bytes 형태의 input이 들어와야 한다는데, 그렇지 않은 것이다. 데이터를 다시 보니 NaN이 꽤 있는 데이터였다. 즉, 정규표현식으로 함수를 쓰기 전에 NA/NaN을 미리 처리해줘야한다는 얘기다. pandas를 쓴다면, DataFrame.fillna 를 사용해 처리한 후 re.search 를 사용해보자. 더보기
[Python/Pandas] loc 과 iloc 은 다르게 반응한다? loc 과 iloc 은 pandas DataFrame에서 정확한 행/열 을 가져올 때 많이 사용한다. 하지만 이 둘의 index 처리법이 다소 다르다. 아래를 보자.df.iloc[1:3, 0]1 Afghanistan 2 Afghanistan Name: country, dtype: object iloc 은 1:3 의 행동이 numpy.arange(1, 3) 과 비슷하다. 즉 1 과 2만 값으로 들어가는 것이다. 이에 반해 loc은 index에 1:3 을 하게 되면 1, 2, 3 의 값으로 인식한다.df.loc[1:3, 'country']1 Afghanistan 2 Afghanistan 3 Afghanistan Name: country, dtype: object iloc을 쓸 때 ! 꼭 유의하자. p.s. .. 더보기
[sklearn] fetch_mldata 는 이제 그만. openml로 갈아타요 sklearn에서 fetch_mldata 를 이용해 데이터를 불러오는 예제를 한번쯤 해보았다면, 해당 웹사이트가 얼마나 불안정한지 잘 알 것이다. mnist = datasets.fetch_mldata('MNIST original', data_home='./data/')pytorch 다음 버전부터는 아애 fetch_mldata 가 사라진다. 그 자리는 fetch_openml 이 맡게 된다. mnist 데이터를 예로 들면, datastes.fetch_openml('mnist_784', version=1)로 불러올 수 있다. 더보기
ImportError: numpy.core.multiarray failed to import 해결? import torch 나 import tensorflow 를 할 때, 이런 오류가 생기곤 하는데,이는 numpy 버전 문제일 가능성이 가장 아래와 같이 numpy 를 conda-forge 에서 받아서 설치하면 문제가 해결될 수도 있다.conda install -c conda-forge numpy혹은pip install --user numpy 이렇게 해서도 되지 않는다면 numpy를 지우고 다시 깔아보자.conda uninstall -n environment_name numpy 더보기
Anaconda (아나콘다)로 파이썬 라이브러리 관리하기 아나콘다는 파이썬 및 패키지 버전 관리를 쉽게 해주고, 다양한 환경 설정을 할 수 있게 만들어주는 고마운 존재다. 다만 pip 로 패키지를 설치하는 것 외에 conda command 로 관리를 해주는 것이 필요하다. 0. 처음 설치 후처음 anaconda를 설치하면 높은 확률로 라이브러리 업데이트가 반영되지 않은 버전이 설치되었을 것이다.따라서 업데이트가 필요한데, 다음의 순서대로 해주면 된다. conda update conda conda update anaconda conda update python 위와 같은 작업을 해준다. conda / anaconda / python을 업데이트 해주는 것인데, 사실 아래의 한 줄로 모두 가능하다.conda update --all 1. 패키지 설치pip와 비슷하게,.. 더보기
Python 을 이용한 간단 크롤러 만들기 Python은 쉽고 빠르고 간단한 코딩에 최적화되어 있다고 말해도 과언이 아니다. 이 글에선 간단하게 Python 크롤러를 만들어 보는 것을 보여주도록 하겠다. 참고. Python 3.5버전 기준이다 우선 크게 세 가지 라이브러리, requests, BeautifulSoup, lxml 이 설치되어있어야 한다. 우선 크롤링(혹은 스크래핑)할 대상을 찾아야 하는데, 여기서는 네이버 실시간 인기검색어 10위를 대상으로 해보자. 자 네이버 오른 쪽에 실시간 급상승 검색어다. 저 위에 커서를 두고 오른쪽 버튼을 누르면 요소검사(HTML문서 내에서 어떻게 표현되고 있나)를 할 수 있다 (는 크롬 기준이다). 보아하니 a태그 사이에 text로 설현이 있다. 하지만 저걸 통으로 가져오면 밑에 있는 span의 text마.. 더보기
크롤러를 만들어봅시다 (1) - Scrapy 설치와 설정 연구 목적으로 데이터를 얻고 싶으나 실제 기업의 데이터나 사내 데이터의 경우 많은 제약사항으로 연구에 사용되지 못하는 경우가 태반이다. 그래서 웹에 존재하는 데이터를 긁어 데이터셋을 만드는 것을 웹 크롤링이라고 한다. 웹 크롤링을 하는 방법은 여러 가지가 있으나, 여기에선 Python과 Scrapy를 이용한 크롤러를 제작해보도록 하겠다. 모든 설치 과정은 windows 기준이다. WARNING: 크롤링을 하는 데에 대한 모든 책임은, 크롤러를 실행하는 당사자에게 있음을 밝힌다. Python 은 편리하고 쉬운 스크립트 언어로 널리 사용되고 있는데, 유독 Python을 사용한 크롤러 모듈들이 많이 개발되어 있다. 그 중 Scrapy는 간단하게!(물론 열심히 공부한 이에게) 크롤링을 할 수 있게 도와준다. 우.. 더보기
[Scrapy] start_url 부터 긁어야 할 때 scrapy 를 사용할 때, start_url에도 긁어야 할 내용이 있는 경우엔 parse_start_url을 오버라이드 해야한다. 기본적으로 start_url은 Rule을 적용하지 않는데, 이 함수를 재정의함으로 첫 페이지부터 크롤링이 시작되도록 한다. spider 의 class 안에 다음과 같이 넣어주면 된다. def parse_start_url(self, response): return self.parse_item(response) 더보기
Eclipse 로 Python 개발하기 - PyDev Python 을 쓰기 위해, 다양한 IDE들이 존재하지만 딱히 맘에 드는 것을 발견하지 못하여, 가장 익숙한 Eclipse에서 하기로 작정. 우선 Python을 받아야한다. 다운로드는 여기에서 www.python.org/downloads 여러가지 버전이 있는데 가장 많이 쓰이는 것은 2.7.X이다. 2.7 과 3.4 사이엔 꽤 많은 변화(문법적 변화 포함)가 있으므로 유의해서 사용해야 한다. 뭐 둘 다 배우겠다 하면 할 말은 없지만서도..받은 후 설치파일을 열어 next next next next하면 된다. 그런 다음 Eclipse 를 켜서, Help -> Install New Software 를 열면 다음과 같은 창이 나온다.Add를 누른 후, Name 에 아무 거나(PyDev가 무난하지만..), Lo.. 더보기