본문 바로가기
반응형

전체 글184

SHAP value에 대한 간단한 소개(with R) 소개 머신 러닝 알고리즘(랜덤 포레스트, xgboost, 딥 러닝 등)을 활용한 복잡한 예측 모델은 해석하기 쉽지 않죠. 예를 들어, 부도 발생 가능성이 90%인 것과 같은 특정 예측(확률 값)이 주어지면 해당 값을 얻기 위한 각 입력 변수의 영향은 무엇입니까? 최근 이러한 블랙박스 모델을 해석하는(Explainable AI) 기술이 많이 발전하고 있어요. 그중 하나가 바로 Scott M. Lundberg가 개발한 SHAP(SHapley Additive exPlanations)이에요. 판매 점수 모델이라는 것을 한번 생각해 볼까요? 우편번호 "A1"에 거주하는 고객이 "10개 구매"로 점수가 95%이고, 다른 우편번호 "A2" 및 "7개 구매"에 있는 고객의 점수는 60%라고 가정하죠. 우선, 각 변수는.. 2022. 1. 1.
데이터 요약(Data summary) 본 포스팅은 R cookbook을 기반으로 하여 작성하였습니다. 데이터(평균, 표준 편차 등)를 그룹별로 분류하여 요약하고 싶다면, 어떻게 해야 할까요? 기본적으로 일부 지정된 변수를 기반으로 데이터를 그룹화하고, 각 그룹에 요약 기능(예: 평균, 표준 편차 등)을 적용하는 세 가지 방법이 있어요. 1. ddply() 함수: plyr 패키지가 필요하지만 사용하기 가장 쉬워요. 2. summaryBy() 함수: doBy 패키지가 필요하지만 사용하기가 쉬운 편이에요. 3. aggregate() 함수: 사용하기가 어려운 편이지만, R의 base에 포함되어 있어요. 어떤 데이터가 존재하고, 각 그룹에 대한 N(수), 변화 평균, 표준 편차 및 표준 오차를 찾고자 한다고 가정해 보죠. 여기서 그룹은 성별과 조건의.. 2021. 12. 31.
[R 그래픽스] 막대(Bar) 및 선(Line) 그래프 그리기 본 포스팅은 R Graphics Cookbook을 기반으로 작성하였습니다. 기본적인 막대(Bar) 또는 선(Lline) 그래프를 만들어 볼게요. ggplot2로 그래프를 만들려면 데이터가 데이터 프레임(data frame)이어야 하고, "긴(long)"(와이드(wide)와 반대) 형식이어야 해요. 그렇기 때문에 데이터를 재구성해야 하는 경우도 있어요. 이와 관련된 자세한 내용은 여기를 참고하세요. 이산형 변수를 가지는 x축이 있는 기본 그래프 막대그래프에는 막대의 높이가 일반적으로 나타내는 두 가지가 있어요. 1. 각 그룹의 케이스 수 - 일반적으로 이산형 변수 각각의 x 값은 하나의 그룹을 나타냅니다. 이것은 각 그룹의 케이스 수를 계산하는 stat_bin으로 수행돼요. stat_bin은 x가 이산형 .. 2021. 12. 30.
와이드 포맷과 롱 포맷 간 데이터 변환 Cookbook for R을 기반으로 하여 작성하였습니다. 이번 포스팅에서는 와이드 형식(wide format)에서 긴 형식(long format)으로 데이터를 변환하는 방법에 대해서 알아볼게요. R에서 사용하는 많은 함수는 데이터가 와이드 형식이 아닌 긴 형식일 것으로 예상을 하고 있어요. 그러나 가끔 넓은 형식의 데이터를 사용하곤 해요. 그래서 두 형식 간의 데이터를 변환시키는 방법에 대해서 알고 있어야 각 상황에 맞는 데이터 분석을 할 수 있어요. 그럼 데이터 형식을 변환시키는 방법에 대해 알아볼게요. 두 형식 간에 변환을 할 수 있는 방법은 크게 아래 2가지예요. 1. tidyr 패키지의 gather()와 spread() 함수 사용 2. reshape2 패키지의 melt() 및 dcast() 함수.. 2021. 12. 28.
개요 R의 강점 중 하나는 그래픽인데요. 제 블로그 중 R과 관련된 카테고리에는 R과 관련된 그래픽 내용이 별도로 존재하지 않았어요. 다른 카테고리에 혼재되어 있는 형태였습니다. 그래서, R 그래픽스에 대한 내용을 별도 카테고리로 구성해서 좀 체계적으로 정리해 보고 싶었어요. 그래서 "R 그래픽스"라는 카테고리를 별도로 생성하게 되었어요. 제가 참고한 자료는 "R Graphics Cookbook"을 기반으로 제 블로그 주제인 신용평가와 관련된 내용들로 구성해 봤어요. R 그래프에 대한 관심이 많으신 분들에게 많은 도움이 되었으면 합니다. R에서 그래프를 만드는 방법에는 여러 가지가 있고, 활용하는 패키지도 다양하며, 각각의 장점과 단점이 있죠. 여기서는 자주 사용되고, 활용되는 ggplot2 패키지를 기반으로.. 2021. 12. 27.
[R 그래픽스]정당별 국회의원 의석 수 그래프로 표현하기 오늘은 대한민국 정당별 국회의원 의석 수를 그래프로 표현하는 방법에 대해서 알아보도록 할게요. 최종 표현된 그래프의 모습은 아래와 같아요. 자! 그러면 지금부터 그래프를 그려 보도록 하겠습니다. 위와 같은 그래프를 그리려면 우선 "ggpol"이라는 R 패키지가 필요하기 때문에, 우선, 패키지를 설치하고, 로딩할게요. install.packages("ggpol") # ggpol 패키지 설치 library(ggpol) # ggplo 패키지 로딩 다음에는 정당별 의석 수를 나타내는 데이터 프레임을 생성할게요. (참고로, 「국회법」제33조 제2항 및 제3항에 따른 보고 기준, 2022년 03월 11일 현재 기준의 정당별 의석 수입니다.) df 2021. 12. 19.
[R 그래픽스] 워드 클라우드(Word Cloud) 생성하기 워드 클라우드(Word Cloud)는 단어의 빈도수를 구름 형태로 표현하는 그래픽 기법입니다. 통상적으로 단어의 크기는 빈도수에 비례하여 표현합니다. 워드 클라우드를 설명하는 여러 블로그를 보면, 한글 자연어 분석 패키지인 KoNLP(Korean Natural Language Processing)에서 시작합니다. 하지만, 정작 워드 클라우드를 생성하기 위해서는 아래 2가지만 준비되면 그리기가 가능한 그래픽 기법입니다. 1. wordcloud 패키지 설치 2. wordcloud 표현을 위한 2개의 변수(단어, 빈도수)로 구성된 Data.frame KoNLP패키지는 결국 2번의 데이터 세트를 생성하기 위해 중간 과정에서 필요한 패키지입니다. KoNLP 패키지는 다음 포스팅에서 자세히 다루도록 하겠습니다. 그.. 2021. 10. 31.
pandas 데이터 구조 소개(Series) 본 포스팅은 Pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. 데이터 구조 소개 pandas의 기본 데이터 구조에 대한 개요부터 알아보도록 하겠습니다. 데이터 유형, 인덱싱 및 축 레이블 지정/정렬에 대한 기본 동작은 모든 개체에 적용됩니다. 시작하려면 NumPy와 pandas 라이브러리를 먼저 로드하도록 하겠습니다. import numpy as np import pandas as pd 다음은 반드시 알아야 할 기본 원칙입니다. 데이터 정렬은 본질적입니다. 레이블과 데이터 간의 연결은 사용자가 명시적으로 수행하지 않는 한 끊어지지 않습니다. 데이터 구조에 대해서 간략히 소개하고, 별도의 섹션에서 광범위한 기능 및 메서드 범주를 모두 알아보겠습니다. Series Series는 모든 데이터.. 2021. 10. 15.
9월 공모주 투자 수익률 현황 9월에는 총 8개 기업(일진하이솔루스, 에이비온, 와이엠텍, 현대중공업, 바이오플러스, 프롬바이오, 실리콘투, 에스앤디 )이 상장하였습니다. 즉, 9월에는 총 8번의 공모주 투자기회가 있었다고 할 수 있죠. 공모주 투자로 월평균 50 ~ 70만 원의 수익을 내기 위한 저만의 투자 기준으로 총 4개 기업에 대해서 공모주에 참여했습니다. 저만의 투자 판단의 기준은 2021.08.30 - [재테크/공모주] - 공모주 투자로 월평균 50 ~ 70만원 수익 내기 포스팅을 참고해 주세요^^ 일진하이솔루스 시초가 따블 성공. 첫날 거래 물량 보아하니 상한가 칠 거 같아 기다렸습니다. 역시 첫날 '따상' ㅎ. 둘째 날 상승으로 출발했지만, 상한가는 무리일 것으로 보고, 오전에 바로 매도했습니다. 실현손익은 625,75.. 2021. 10. 6.
[R데이터다루기]문자열 처리하기(기초) 본 포스팅은 R for Data Science를 기반으로 작성되었습니다. 1. 소개 이번 포스팅에서는 R의 문자열 처리를 소개합니다. 문자열이 작동하는 방식과 손으로 문자열을 만드는 방법에 대한 기본 사항을 배우지만 이번 포스팅의 초점은 정규표현식 또는 줄여서 정규식입니다. 문자열은 일반적으로 비정형 또는 반정형 데이터를 포함하고 있는데, 정규 표현식은 문자열의 패턴을 설명하기 위한 간결한 언어이기 때문에 매우 유용합니다. 정규 표현식을 처음 볼 때 매우 당황할 수 있지만 시간이 지나면 곧 이해하기 시작할 것입니다. 1.1. 전제조건 이번 포스팅에서는 핵심 tidyverse의 일부인 문자열 조작을 위한 stringr 패키지에 초점을 맞출 것입니다. library(tidyverse) 2. 문자열 기초 작은.. 2021. 10. 5.
Numpy 고급 인덱싱 및 인덱스 트릭 본 포스팅은 Numpy 라이브러리 홈페이지 원문을 기반으로 하여 작성하였습니다. Broadcasting rules Broadcasting을 통해 범용 함수는 정확히 같은 모양이 아닌 입력을 의미 있는 방식으로 처리할 수 있습니다. Broadcasting의 첫 번째 규칙은 모든 입력 배열의 차원 수가 동일하지 않은 경우 모든 배열이 동일한 차원 수를 가질 때까지 더 작은 배열의 모양 앞에 "1"이 반복적으로 추가된다는 것입니다. Broadcasting의 두 번째 규칙은 특정 차원을 따라 크기가 1인 배열이 해당 차원을 따라 가장 큰 모양을 가진 배열의 크기를 가진 것처럼 작동하도록 합니다. 배열 요소의 값은 "Broadcast" 배열의 해당 차원을 따라 동일한 것으로 간주됩니다. Broadcasting 규.. 2021. 10. 4.
R 워크플로우(Project) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 데이터 분석을 진행하다 보면, 언젠가는 R을 종료하고 다른 일을 하고, 그다음 날 이어서 분석을 해야 하는 경우가 자주 발생합니다. 또한 R을 사용해서 분리된 상태를 유지하면서 여러 분석을 동시에 수행해야 하는 경우도 있습니다. 외부 데이터(R에서 생성하지 않은 모든 데이터)를 R로 가져와서 분석 후 R의 수치 결과와 수치를 다시 외부 데이터 형태로 보내야 합니다. 이러한 상황을 처리하려면 두 가지 결정을 내려야 합니다. 1. 현재 분석이 "실제 상황"입니까? 즉, 무슨 일이 있었는지에 대한 지속적인 기록으로 무엇을 저장할 것입니까? 2. 분석이 "진행되고 있는" 곳은 어디입니까? 1. 실제 분석 상황이 무엇인가? R 사용자로.. 2021. 10. 3.
R 워크플로우(기초) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 1. 코딩 기초 가능한 한 빨리 플로팅 할 수 있도록 몇 가지 기본 사항을 검토해 보겠습니다. R을 계산기로 사용할 수 있습니다. 1 / 200 * 30 #> [1] 0.15 (59 + 73 + 2) / 3 #> [1] 44.66667 sin(pi / 2) #> [1] 1 2021. 10. 2.
탐색적 자료 분석(최종) 본 포스팅은 R for Data Science를 기반으로 하여 작성했습니다. 1. 패턴과 모델 데이터의 패턴은 관계에 대한 단서를 제공합니다. 두 변수 사이에 체계적인 관계가 있으면 데이터에 패턴으로 나타납니다. 패턴을 발견하면 스스로에게 질문을 던져야 합니다. 이 패턴이 우연의 일치인가? 패턴이 내포하는 관계를 어떻게 설명할 수 있을까? 패턴이 암시하는 관계는 얼마나 강력합니까? 관계에 영향을 줄 수 있는 다른 변수는 무엇일까? 데이터의 개별 하위 그룹을 보면 관계가 변경될까? Ex) Old Faithful 분화 길이 대 분화 간 대기 시간의 산점도는 패턴을 보여줍니다. 대기 시간이 길수록 분화도 길어집니다. 산점도에는 위에서 확인한 두 개의 클러스터도 표시됩니다. ggplot(data = faithf.. 2021. 10. 1.
탐색적 자료 분석(공변량2) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 1. 두 개의 범주형 변수 범주형 변수 간의 공분산을 시각화하려면 각 조합에 대한 관측값의 수를 계산해야 합니다. 그렇게 하는 한 가지 방법은 geom_count()를 활용하는 것입니다. ggplot(data = diamonds) + ____geom_count(mapping = aes(x = cut, y = color)) 그림에 있는 각 원의 크기는 각 값 조합에서 발생한 관측치의 수를 표시합니다. 공변량은 특정 x 값과 특정 y 값 사이의 강한 상관관계로 나타납니다. 또 다른 접근 방식은 dplyr로 개수를 계산하는 것입니다. diamonds %>% ____count(color, cut) 그런 다음 geom_tile() 및 .. 2021. 9. 30.
탐색적 자료 분석(공변량1) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 변동(variation)이 변수 내 행동을 설명하는 통계량이라면, 공변량(covariation)은 변수 간의 행동을 설명합니다. 공변은 두 개 이상의 변수 값이 관련된 방식으로 함께 변하는 경향입니다. 공변량을 찾는 가장 좋은 방법은 둘 이상의 변수 간의 관계를 시각화하는 것입니다. 이를 수행하는 방법은 관련된 변수 유형에 따라 달라집니다. 1. 하나의 범주형 및 연속형 변수 범주형 변수로 분류된 연속 변수의 분포를 탐색하려는 것이 가장 일반적입니다. geom_freqpoly()의 기본 모양은 높이가 개수에 의해 지정되기 때문에 상기 종류의 비교에는 별로 유용하지 않습니다. 즉, 그룹 중 하나가 다른 그룹보다 훨씬 작으면 모양.. 2021. 9. 29.
탐색적 자료 분석(결측치 처리) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 데이터 세트에서 비정상적인 값을 발견하고, 단순히 나머지 분석으로 이동하려는 경우에 진행할 수 있는 선택 사항은 아래 두 가지가 있습니다. 1. 비정상적인 값이 존재하는 전체 데이터 행 삭제 diamonds2 % ____filter(between(y, 3, 20)) 하나의 측정값이 유효하지 않다고 해서 모든 측정값이 잘못된 것은 아니기 때문에 별로 좋은 선택사항은 아니라고 생각합니다. 또한 품질이 낮은 데이터가 있는 경우 이 접근 방식을 모든 변수에 적용했을 때, 최종적으로 남아 있는 분석 데이터가 별로 없게 될 수도 있습니다. 2. 비정상적인 값을 결측 값으로 교체 이를 수행하는 가장 쉬운 방법은 mutate()를 사용하여 .. 2021. 9. 28.
탐색적 자료 분석(일반적 값 VS 비정상적인 값) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 1. 일반적인 값 막대 차트와 히스토그램 모두에서 긴 막대는 변수의 평범한 값을 표시하고 짧은 막대는 덜 일반적인(비정상적인) 값을 표시합니다. 막대가 없는 장소는 데이터에 표시되지 않은 값을 나타냅니다. 이 정보를 유용한 질문으로 바꾸려면 예상하지 못한 부분을 찾아내야 합니다. 어떤 값이 가장 일반적이고, 그 이유는 무엇일까? 어떤 값이 보기 드문 희귀한 값일까? 그 이유는 무엇일까? 내 생각과 일치하는가? 특이한 패턴이 보이나요? 특이 패턴을 설명할 수 있나? 예를 들어 아래 히스토그램은 몇 가지 흥미로운 질문을 제안합니다. 왜 전체 캐럿과 캐럿의 흔한 분수에 더 많은 다이아몬드가 있을까? 각 봉우리의 약간 왼쪽보다 각 봉.. 2021. 9. 27.
탐색적 자료 분석(변수 분포 탐색) 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. 변동(Variation)은 측정에서 측정으로 변하는 변수 값의 경향입니다. 실생활에서 쉽게 변동을 볼 수 있습니다. 연속형 변수를 두 번 측정하면 두 가지 다른 결과가 나타납니다. 이것은 빛의 속도와 같이 일정한 양을 측정하더라도 마찬가지입니다. 각 측정에는 측정할 때마다 달라지는 약간의 오류가 포함됩니다. 연속형 변수뿐만 아니라 다른 주제(예: 다른 사람의 눈 색깔) 또는 다른 시간(예: 다른 순간의 전자 에너지 수준)에 걸쳐 측정하는 경우 범주형 변수도 달라질 수 있습니다. 모든 변수에는 흥미로운 정보를 나타낼 수 있는 고유한 변형 패턴이 있습니다. 이 패턴을 이해하는 가장 좋은 방법은 변수 값의 분포를 시각화하는 것입니다.. 2021. 9. 26.
탐색적 자료 분석 Introduction 본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다. R을 활용한 탐색적 자료 분석(EDA, Exploratory Data Analysis)에 대해서 알아보겠습니다. EDA는 아래의 3가지 사항에 대한 반복적인 순환입니다. 1. 데이터에 대한 질문을 만들어 냅니다. 2. 데이터를 시각화, 변환 및 모델링하여 1에 대한 답변을 찾습니다. 3. 질문을 수정하거나 새로운 질문을 만들기 위해 여러분이 배운 내용을 사용합니다. EDA는 엄격한 규칙이 있는 공식 프로세스가 아닙니다. 무엇보다 EDA는 마음의 상태입니다. EDA의 초기 단계에서 생각나는 모든 아이디어를 자유롭게 조사해야 합니다. 이러한 아이디어 중 일부는 실현될 것이고 일부는 막다른 골목이 될 것입니다. 탐색이 계속되면서, .. 2021. 9. 25.
CSV 파일 출력 시 헤더 생성 방법 SAS에서 분석한 데이터를 CSV 파일로 변환할 때, 변수명을 header에 포함시켜야 하는 경우가 있는데요. CSV 파일 출력 시 헤더 생성 방법은 아래와 같습니다. SAS Pgm에서 아래 코드를 활용하시면 헤더가 생성이 됩니다. Data _NULL_ ; %let _EFIERR = 0; /* set the ERROR detection macro variable */ %let _EFIREC = 0; /* clear export record count macro variable */ file "경로명\생성CSV파일명.CSV" dlm = ',' dsd lrecl = 32767 ; if _N_ = 1 then do ; put "변수명1" ',' "변수명2" ',' ... "변수명n" ',' ; end ; se.. 2021. 9. 24.
Pandas Getting data in/out 본 포스팅은 pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. CSV csv 파일에 쓰기 df.to_csv("foo.csv") csv 파일 읽기 pd.read_csv("foo.csv") Excel 엑셀 파일에 쓰기 df.to_excel("foo.xlsx", sheet_name="Sheet1") 엑셀 파일에서 읽기 pd.read_excel("foo.xlsx", "Sheet1", index_col=None, na_values=["NA"]) 2021. 9. 23.
Pandas Plotting 본 포스팅은 Pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. matplotlib API를 참조하기 위해 표준 규칙을 사용합니다. import matplotlib.pyplot as plt plt.close("all") close() 메서드는 Figure 창을 닫는 데 사용됩니다. ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000)) ts = ts.cumsum() ts.plot(); DataFrame에서 plot() 메서드는 레이블이 있는 모든 열을 플롯 하는 데 편리합니다. df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, colum.. 2021. 9. 22.
Pandas Categoricals 본 포스팅은 Pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. Pandas는 DataFrame에 범주형 데이터를 포함할 수 있습니다. df = pd.DataFrame( ________{ ___________"id": [1, 2, 3, 4, 5, 6], ___________"raw_grade": ["a", "b", "b", "a", "a", "e"] ________} ) raw_grade의 값들을 범주형 자료 유형으로 변환할 수 있습니다. df["grade"] = df["raw_grade"].astype("category") df["grade"] 범주 이름을 보다 의미 있는 이름으로 변경하는 것이 좋습니다. df["grade"].cat.categories = ["very good", "g.. 2021. 9. 21.
Pandas Time series 본 포스팅은 pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. pandas는 빈도 변환(예: 2차 데이터를 5분 데이터로 변환)을 하는 동안 리샘플링 작업을 수행하기 위한 간단하고 강력하며 효율적인 기능을 가지고 있습니다. 이는 금융 애플리케이션에서 매우 일반적이지만 이에 국한되지 않습니다. rng = pd.date_range("1/1/2012", periods=100, freq="S") rng ts = pd.Series(np.random.randint(0, 500, len(rng)), index=rng) ts ts.resample("5Min").sum() 시간대 표현 rng = pd.date_range("3/6/2012 00:00", periods=5, freq="D") rng ts .. 2021. 9. 20.
Pandas Reshaping 본 포스팅은 pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. 1. Stack tuples = list( _______________zip( ____________________*[ ["bar", "bar", "baz", "baz", "foo", "foo", "qux", "qux"], _____________________["one", "two", "one", "two", "one", "two", "one", "two"], ] ___________________) ______________) tuples index = pd.MultiIndex.from_tuples(tuples, names=["first", "second"]) index df = pd.DataFrame(np.random... 2021. 9. 19.
Pandas Grouping 본 포스팅은 Pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. "group by"는 다음 단계 중 하나 이상을 포함하는 프로세스를 나타냅니다. Splitting: 일부 기준에 따라 데이터를 그룹으로 분할 Applying: 각 그룹에 독립적으로 기능 적용 Combining: 결과를 데이터 구조로 결합 import numpy as np import pandas as pd df = pd.DataFrame( ________{ __________"A": ["foo", "bar", "foo", "bar", "foo", "bar", "foo", "foo"], __________"B": ["one", "one", "two", "three", "two", "two", "one", "three"], __.. 2021. 9. 18.
Pandas Merge 본 포스팅은 Pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. pandas는 조인/병합 유형 작업의 경우 인덱스 및 관계 대수 기능에 대한 다양한 종류의 설정 논리를 사용하여 Series 및 DataFrame 개체를 쉽게 결합할 수 있는 다양한 기능을 제공합니다. 1. Concat concat()을 사용하여 pandas 객체 연결 df = pd.DataFrame(np.random.randn(10, 4)) df pieces = [df[:3], df[3:7], df[7:]] pieces pd.concat(pieces) (Note: DataFrame에 열을 추가하는 것은 비교적 빠릅니다. 그러나 행을 추가하려면 복사본이 필요하고 비용이 많이 들 수 있습니다. 반복적으로 레코드를 추가하여 Da.. 2021. 9. 17.
Pandas Operations 본 포스팅은 Pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. 1. 통계 일반적으로 계산은 missing data를 제외합니다. 기술 통계 수행 df.mean() 다른 축에서 동일한 작업 df.mean(1) 차원이 다르고 정렬이 필요한 개체로 작업합니다. 또한 pandas는 지정된 차원을 따라 자동으로 브로드캐스트 합니다. s = pd.Series([1, 3, 5, np.nan, 6, 8], index=dates).shift(2) s df.sub(s, axis="index") 2. Apply 데이터에 함수 적용 df.apply(np.cumsum) df.apply(lambda x: x.max() - x.min()) 3. Histogramming s = pd.Series(np.random... 2021. 9. 16.
Pandas Missing data 본 포스팅은 pandas 패키지 라이브러리 원문을 기반으로 하여 작성하였습니다. 2021.09.14 - [Python/Pandas 기초다지기(10분)] - Pandas Selection(변수선택)에서 생성한 데이터를 계속 사용하도록 하겠습니다. pandas는 주로 np.nan 값을 사용하여 missing data를 나타냅니다. np.nan 값은 기본적으로 계산에 포함되지 않습니다. reindex를 사용하면 지정된 축의 인덱스를 변경/추가/삭제할 수 있습니다. 그러면 데이터 복사본이 반환됩니다. df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + ["E"]) df1.loc[dates[0] : dates[1], "E"] = 1 df1 누락된 데이터 .. 2021. 9. 15.
반응형