Topics 6

[Python] 좀비 프로세스 죽이기 (How to kill zombie process)

파이썬 코드를 실행하다가 커널을 shutdown하면 가끔 실행 중인 코드는 없지만 메모리는 어디선가 사용되고 있는 때가 있다. 이 때 실행 중인 pid(Process ID)를 확인하여 처리할 수 있다 (pid : 운영체제에서 프로세스를 식별하기 위해 프로세스에 부여하는 번호). ps -ef | grep python 실행 중인 python 파일을 출력해보면 맨 왼쪽에 사용 중인 유저, pid를 순서대로 출력해준다. $ python >>> import psutil >>> for process in psutil.process_iter(): print(process.name(), "\t"+str(process.pid), "\t"+process.status()) psutil의 process_iter() 모듈로 현..

[Git] 간단하게 정리한 Git 사용법

혼자서 분석을 할 때는 파이썬과 SQL만 알아도 괜찮았지만 분석가들이 공통으로 활용할 수 있는 분석 마트를 구성하다보니 git을 쓰게 됐다. git과 github이 여러 사람이 개발할 때 반드시 필요한 툴이라는 사실은 알고 있었지만 이번 기회에 공부를 해보고, 또 실제 실무에서 활용해보니 그 편리함이 더 와 닿았다. 이번 포스트는 얄코님의 git 강의 유튜브 버전을 기반으로 git과 gibhub에 대해 정리하고 실무에서 필요할 때 참고하기 위해 간략하게 요약해보았다. Git과 Github는 무엇인가? Git VCS(Version Control System)의 일종으로 프로그램의 버전 관리를 위한 툴. 시간(시간에 따른 버전 변화. v1 → v2)과 차원(비슷하지만 조금씩 다른 형상. 원본과 copy&up..

pip를 이용한 Pandas 설치, 제거, 업데이트 (+pandas가 업데이트 되지 않는 경우?)

Pandas는 numpy와 함께 데이터 전처리에 가장 많이 사용되는 파이썬 라이브러리입니다. 그래서 많은 패키지가 pandas에 dependency를 갖는 만큼 종종 버전 문제로 머리가 아플 일이 생기더라구요. 이럴 때 필요한 코드를 정리해두었습니다. Pandas 설치, 제거, 업데이트 # 설치 pip install pandas # 제거 pip uninstall pandas # 업데이트 pip install --upgrade pandas pip install --upgrade pandas=='업데이트 할 버전' 업데이트를 해도 pandas 버전이 변경되지 않는 경우가 있는데, 업데이트를 할 경우 커널을 재시작해주어야 업데이트 된 버전을 사용할 수 있습니다. 버전 확인 - pandas 버전 확인 impor..

[Python] 다양한 String 처리 코드

파이썬에서 String을 처리하는 다양한 코드를 정리해보자 1. 문자열 거꾸로 출력하기 # 단순하게 문자열 뒤집기 a = 'abd' a[::-1] # dba # [4:1:-1] : 4번 인덱스부터 2(1+1)번 인덱스까지 문자열 뒤집기 a = 'abdcf' a[4:1:-1] # fcd # 리스트나 튜플에도 적용 가능 lst = ['a', 'c', 'f', 'w'] lst[::-1] # ['w', 'f', 'c', 'a'] tup = ('d', '2', 'g', 'x') tup[2::-1] # ('g', '2', 'd')

[Python] UnboundLocalError: local variable referenced before assignment

#2. UnboundLocalError: local variable referenced before assignment 파이썬에서 Function을 사용하다보면 종종 UnboundLocalError를 만날 때가 있다. 맨날 찾아보고 잊어버리기를 반복하다가 드디어 정리를 해보기로 함! 1. 변수의 종류 파이썬 변수는 활용 범위에 따라 구분된다. Global Variable : 코드 어디서나 사용할 수 있는 변수 Local Variable : 함수 내에서만 사용할 수 있는 변수 2. UnboundLocalError는 왜 발생하는가? 함수 밖에서 생성된 변수가 함수 내에서 참조(referenced)만 된다면 Global Variable이다. 그런데 이 변수가 함수 안에서 값을 받게 되면 Global로 따로 선..

[Python] Dict to Dataframe

#1. Dict to Dataframe in Python JSON 형식을 Dataframe으로 변환하는 방법을 찾아 헤메던 과정에서 알게 된 내용을 정리해보았다. 통계청 API로 총인구조사 데이터를 불러보니 아래와 같은 형태. 리스트 내에 딕셔너리 형식의 데이터들이 담겨있다. (출력형식을 JSON으로 해도 데이터셋 형태가 조금씩 다르다... JSON 형식을 이해했다가 못하게 되었다 허허) json_stat = [{'TBL_NM': '인구 가구 및 주택 - 읍면동(2015) 시군구(2016~)', 'PRD_DE': '2017', 'TBL_ID': 'DT_1IN1502', 'ITM_NM': '총인구', 'ITM_NM_ENG': 'Total population', 'ITM_ID': 'T100', 'UNIT_N..