본문 바로가기

Python

(93)
[Python] 맥북 기본 설정 - 아나콘다에서 가상환경 추가 및 주피터 설치 오랫만에 파이썬 공부하려고 환경 설정하다보니, 이전엔 몰랐던 주피터 관련 오류 및 개발자를 헷갈리게 하는 부분이 발생하여 정리해 봅니다.단순히 설치만 설명하는것이 아니고 실행했을때 주피터 노트북이 내가 지정한 가상 환경에서 돌아가는지에 대한 의구심이 생겨서 이번 블로그를 정리하면서 확인하는 방법도 설명하고 어떻게 실행하는게 최적인지도 정리했습니다.  먼저 주피터 노트북을 아나콘다에서 가상환경에서 설치하는 방법입니다.가상환경은 귀찮아서 아나콘다 네비게이터에서 아래 처럼 했습니다.       [추가] 여기서 잠깐 - 콘다에 채널을 추가하면 네비게이터 시작할때 엄청 느리게 된다. (맥북 M1 pro 인데도 로딩 시간이 길어진다)그래서 이때는 아래처럼 명령어창에서 채널을 지정해서 가상환경을 만들면 된다. # 이..
[Python] Data Analysis - DataFrame - excel 이번에는 데이터프레임을 엑셀로 저장/읽는 방법에 대해서 알아보겠습니다. CSV 파일로 저장하기 df --------------------------------------------------- 종목명현재가등락률 종목코드 0377303R15107.36 0363603SOFT17901.65 005760ACTS11851.28 df.to_csv("data.csv") 엑셀로 저장하기 df.to_excel("data.xlsx") # 시트 이름을 설정 df.to_excel("data2.xlsx", sheet_name="종목정보") # 인덱스 제거 df.to_excel("data3.xlsx", index=False) # 컬럼 제거 df.to_excel("data4.xlsx", header=False) 엑셀 파일 불러오기..
[Python] Data Analysis - DataFrame - Melt 이번에는 melt 에 대해서 알아보겠습니다. melt 메서드는 컬럼의 수가 많아서 와이드 포맷의 데이터프레임을 세로로 긴 포멧의 데이터프레임으로 구조를 변경할 수 있다. df -------------------------------------------------- 종목코드종목명시가고가저가종가 0005930삼성전자75800760007410074400 1035720카카오147500147500144500146000 2000660SK하이닉스9960010150098900101500 melt 를 적용하면 모든 컬럼명은 variable 컬럼으로 이동하고 값들은 value 컴럼으로 이동한다. df.melt() melt 사용시, 유지하고 싶은 컬럼이 있다면 id_vars 옵션을 사용하여 유지할 수 있다. df.melt..
[Python] Data Analysis - DataFrame - Pivot 이번에는 pivot 에 대해서 알아보겠습니다. pivot 은 데이터를 재구성하여 데이터 이해하기 쉽게 변형하는 과정입니다. df --------------------------------------- 날짜종목명종가 02021-08-12삼성전자77000 12021-08-13삼성전자74400 22021-08-12LG전자153000 32021-08-13LG전자150500 42021-08-12SK하이닉스100500 52021-08-13SK하이닉스101500 pd.pivot(data=df, index="날짜", columns="종목명", values="종가") --------------------------------------- 종목명LG전자SK하이닉스삼성전자 날짜 2021-08-12153000100500770..
[Python] Data Analysis - DataFrame - Stack / Unstack 이번에는 Stack / Unstack 에 대해서 알아보겠습니다. 가끔은 컬럼을 인덱스로 옮기거나 반대로 인덱스를 컬럼으로 옮기는것이 데이터를 다루는데 또는 이해하는데 효과적일 때가 있다. stack 메서드는 컴럼을 인덱스로 변경할 수 있다. 반대로 unstack 메서드는 인덱스를 컬럼으로 변경한다. df ----------------------------------- 영업이익당기순이익 컨센서스잠정치컨센서스잠정치 2020/06100900800700 2020/0912001400900800 # 기본적으로 높은레벨(level 0 가 낮은 레벨임)의 컬럼이 인덱스로 변경된다 df.stack() ----------------------------------- 당기순이익영업이익 2020/06잠정치700900 컨센서스..
[Python] Data Analysis - DataFrame - multi-column 이번에는 멀티컬럼에 대해서 알아보겠습니다. 멀티컬럼은 멀티인덱스와 구조만 다릅니다. from pandas import DataFrame data = [ [100, 900, 800, 700], [1200, 1400, 900, 800] ] columns = [ ['영업이익', '영업이익', '당기순이익', '당기순이익'], ['컨센서스', '잠정치', '컨센서스', '잠정치'] ] index = ["2020/06", "2020/09"] df = DataFrame(data=data, index=index, columns=columns) df ------------------------------------------ 영업이익당기순이익 컨센서스잠정치컨센서스잠정치 2020/06100900800700 2020/09..
[Python] Data Analysis - DataFrame - multi-index 이번에는 멀티 인덱스에 대해서 알아보겠습니다. df --------------------------------------- 23 01 영업이익컨센서스10001200 잠정치9001400 당기순이익컨센서스800900 잠정치700800 # 인덱스 이름 지정 및 컬럼명 지정 df.index.names = ["재무연월", ""] df.columns = ["2020/06", "2020/09"] df --------------------------------------- 2020/062020/09 재무연월 영업이익컨센서스10001200 잠정치9001400 당기순이익컨센서스800900 잠정치700800 멀티 인덱스에서 인덱싱 및 슬라이싱 하는 방법 레벨0 인덱스를 이용한 인덱싱 df -------------------..
[Python] Data Analysis - DataFrame - join merge 는 특정 컬럼값을 기준으로 데이터를 병합하고, join 은 인덱스를 기준으로 데이터를 병합한다. how 옵션에는 left, right, outer, inner 옵션이 있다. how 옵션을 지정하지 않으면 기본 옵션은 left 입니다. df1 ---------------------------------------------------------- 종목코드종목명현재가 업종 전기전자005930삼성전자74400 화학051910LG화학896000 서비스업035720카카오121500 df2 ---------------------------------------------------------- 등락률 항목 은행2.92 보험0.37 화학0.06 전기전자-2.43 df1.join(other=df2) ----..