본문 바로가기

전체 글

(664)
[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) ----..
[Python] Data Analysis - DataFrame - merge 단순한 데이터프레임을 합치는 경우에는 concat 도 가능하지만 특정 컬럼값을 기준으로 데이터를 병합하기 위해서는 merge 를 사용해야 한다. 2개의 데이터프레임을 merge 하는 방법은 아래와 같다. df1 --------------------------------- 업종종목코드종목명 현재가 0전기전자005930삼성전자 74400 1화학051910LG화학 896000 2전기전자000660SK하이닉스 101500 df2 --------------------------------- 업종등락률 0은행2.92 1보험0.37 2화학0.06 3전기전자-2.43 merge 에서 inner / outer 의 차이는 아래와 같다. pd.merge(left=df1, right=df2, on='업종') ---------..
[Python] Data Analysis - DataFrame - add data 이번 시간에는 기존 데이터프레임에 데이터를 추가하는 방법에 대해서 알아보겠습니다. 먼저 횡방향(컬럼 데이터 추가) 데이터 추가하는 샘플입니다. from pandas import DataFrame import pandas as pd data = { '종가': [113000, 111500], '거래량': [555850, 282163] } index = ["2019-06-21", "2019-06-20"] df1 = DataFrame(data=data, index=index) df1 ------------------------------------------- 종가거래량 2019-06-21113000555850 2019-06-20111500282163 data = { '시가': [112500, 110000], ..
[Python] Data Analysis - DataFrame - groupby groupby 함수는 다양한 옵션 및 기능이 있지만 여기서는 기본적인 기능에 대해서만 알아보겠습니다. df ---------------------------------------------- 테마종목명PERPBR 02차전지(생산)SK이노베이션10.191.29 1해운팬오션21.230.95 2시스템반도체티엘아이35.971.12 3해운HMM21.523.20 4시스템반도체아이에이37.323.55 52차전지(생산)LG화학83.063.75 df1 = df[df["테마"] == "2차전지(생산)"] df2 = df[df["테마"] == "해운"] df3 = df[df["테마"] == "시스템반도체"] df1 ---------------------------------------------- 테마종목명PERPBR 02..
[Python] Data Analysis - DataFrame - sort, rank sort df ----------------------------------------- 종목명현재가 종목코드 0377303R1510 0363603SOFT1790 005670ACTS1185 df.sort_values("현재가") ----------------------------------------- 종목명현재가 종목코드 005670ACTS1185 0377303R1510 0363603SOFT1790 df.sort_values(by="현재가") ----------------------------------------- 종목명현재가 종목코드 005670ACTS1185 0377303R1510 0363603SOFT1790 df.sort_values(by="현재가", ascending=False) -------..
[Python] Data Analysis - DataFrame - Filter 이번 시간에는 DataFrame 의 Filter 에 대해서 알아보겠습니다. df ------------------------------------------- 2018/122019/122020/122021/12(E) DPS1416.001416.002994.001755.00 PER6.4217.6321.0913.93 PBR1.101.492.061.88 df.filter(items=["2018/12"]) ------------------------------------------- 2018/12 DPS1416.00 PER6.42 PBR1.10 df.filter(items=["PER"], axis=0) ------------------------------------------- 2018/122019/12202..
[Python] Data Analysis - DataFrame - Query 이번 시간에는 DataFrame 의 Query 에 대해서 알아보겠습니다. df ---------------------------- nmopenclose cd A0603103S29202800 A095570AJ네트웍스19201900 A006840AK홀딩스20202010 A054620APS홀딩스31203200 cond = df['open'] >= 2000 df[cond] ---------------------------- nmopenclose cd A0603103S29202800 A006840AK홀딩스20202010 A054620APS홀딩스31203200 상기 내용을 Query 로 표현 하면 아래와 같습니다. df.query("open>=2000") ---------------------------------..