본문 바로가기

Python

(94)
[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") ---------------------------------..
[Python] Data Analysis - DataFrame 데이터 프레임을 만드는 3가지 방법 1. 딕셔너리로 데이터 프레임 생성. 2. 리스트로 데이터 프레임 생성 3. 리스트와 딕셔너리로 데이터 프로임 생성 from pandas import DataFrame data = { '종목코드': ["037730", "036360", "005670"], '종목명': ["3R", "3SOFT", "ACTS"], '현제가': [1510, 1790, 1185] } df = DataFrame(data) df ----------------------------------- 종목코드종목명현제가 00377303R1510 10363603SOFT1790 2005670ACTS1185 from pandas import DataFrame data = [ ["037730", "3R", 15..