본문 바로가기
728x90

우공이산250

4. EDA(Explorary Data Analytics) 탐색적 자료 분석이란? 위키백과에서 찾은 EDA의 정의는 아래와 같습니다. 탐색적 자료 분석(영어: Exploratory data analysis)은 존 튜키라는 미국의 저명한 통계학자가 창안한 자료 분석 방법론이다. 기존의 통계학이 정보의 추출에서 가설 검정 등에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있어, 이를 보완하고자 주어진 자료만 가지고도 충분한 정보를 찾을 수 있도록 여러 가지 탐색적 자료 분석 방법을 개발하였다. 대표적인 예로 박스플롯을 들 수 있다. 탐색적 자료 분석을 통하여 자료에 대한 충분한 이해를 한 후에 모형 적합 등의 좀 더 정교한 모형을 개발할 수 있다. 뭔 말인가... 싶은데, 중요한 부분은 "자료에 대한 충분한 이해" 입니다. 초보 데이터분석가가 제일 많이 하는 실수가 이 EDA.. 2022. 9. 16.
3. 데이터 파일(xlsx, xls, csv) 읽고 쓰기 데이터 분석을 위해 우선 파일을 불러오는 것부터 시작하겠습니다. 자주 사용하는 xlsx, xls, csv 파일을 읽어 오겠습니다. .csv csv 파일은 pandas에서 기본으로 제공하는 read_csv 함수를 사용하면 되고, 괄호안에 읽고자하는 파일 경로를 입력합니다. 절대, 상대 경로가 모두 가능합니다. 아래 코드는 파일을 읽어서 data 데이터 프레임에 저장하고 있습니다. import pandas as pd boston_data=pd.read_csv('BostonHousing.csv') #파일 이름 # boston_data=pd.read_csv('data/BostonHousing.csv') # 파일 경로 (상대) # boston_data=pd.read_csv('c:/data/BostonHousing.. 2022. 9. 14.
2. Set_option 다루기 이제 본격적으로 Dataframe을 다루어야 하는데, 한 가지 맘에 걸립니다. 아래 총 rows가 506인데, 중간이 뚝 끊어지고,"..."으로 표시되고 있네요. 아래 데이터는 행이 끊어졌지만, 열수가 많아지면 열도 끊어집니다. DataFrame의 가려진 행과 열을 보이게 하려면 set_option 이라는 함수를 사용합니다. pd.set_option('display.max_rows',600) #행 수를 늘릴 때 pd.set_option('display.max_columns',600) #열 수를 늘릴 때 이 코드에서 두 번째 인자로 숫자를 넣으면 해당 숫자만큼의 행/열이 표시됩니다. 그리고, None을 넣으면 무제한으로 표시되고, 0을 넣으면 Default으로 돌아갑니다. 이렇게 0~505행까지 출력이 됩.. 2022. 9. 14.
Python에서 DataFrame의 목록을 출력하는 방법 데이터프레임을 계속 만들다 보면 한번 정리하고 싶을 때가 있습니다. 이럴 때 데이터프레임 목록을 출력하는 방법입니다. 두 개 함수를 사용합니다. dir() : 객체의 리스트를 출력합니다. 이때 출력되는 리스트는 객체 자체가 아니라 객체의 이름, 즉, 문자열입니다. eval() : 문자열을 코드로 인식하게 하는 함수입니다. 아래 코드에서는 dir()로 객체의 이름을 불러오고 for문을 돌면서 해당 이름을 사용하는 객체가 DataFrame이면 DataFrame의 이름과 타입을 출력하는 코드 입니다. for object in dir(): if type(eval(object))==pd.core.frame.DataFrame: print(object, type(eval(object))) 2022. 9. 13.
[Database] ACID, BASE, CAP 이론과 DB 선택 방법 회사에서 NoSQL DBMS 도입을 검토하면서 ACID, BASE, CAP 이라는 용어를 접했습니다. ACID는 어디서 많이 들어본거 같은데, BASE와 CAP은 처음 들어봤습니다. 각 용어의 정의와 어떤 때 어떤 조건을 충족시켜야 할지 고민해보겠습니다. 1. ACID ACID(원자성, 일관성, 고립성, 지속성)는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어 입니다. (위키백과, ACID) 데이터베이스에서 데이터에 대한 하나의 논리적 실행단계를 트랜잭션이라고 합니다. 예를 들어, 은행에서의 계좌이체를 트랜잭션이라고 할 수 있는데, 계좌이체라는 트랜잭션이 내부적으로는 여러단계로 이루어질 수 있지만, '송신자 계좌의 금액 감소', '수신자 계좌의 금액 증가'가 한 동작.. 2022. 9. 13.
Python 함수 tooltip 보는 방법 별 거 아니지만, 오래 손 놓았다가 다시 만질 때 한 번 씩 헷갈려서 적어놓습니다 Google Colaboratory Google Colaboratory의 경우 특별히 키를 누르지 않아도 자동으로 함수 tooltip이 보입니다. Jupyter Notebook shift + tab 을 누르면 함수 tooltip이 나타납니다. - 끝 - 2022. 9. 6.
고정IP, 유동IP 자동 변경 설정 꿀팁(WiFi별로 다르게) - 꼭 보세요 오늘은 고정 IP와 유동 IP를 번갈아 사용해야 할 때 편하게 IP 설정하는 방법을 알아보겠습니다. 두 가지 방법이 있는데요. 1. 배치파일로 IP변경 2. 알려진 네트워크 관리 기능 사용 대부분 1번 방법을 사용하실텐데, 2번 방법이 훨씬 편합니다!!! 배치파일로 IP 변경 저희 회사는 사내에서는 사내망에서 고정IP를 할당받아 사용합니다. 그런데, 가끔 집에서 재택근무를 하려면 공유기의 유동 IP를 써야 하는데요. 이럴 때, 기존에는 아래와 같은 WiFi 속성 창에서 IP를 수정해서 사용했었습니다. 그런데, 아무래도 IP를 매번 치는 것도 번거롭고, 숫자가 많아서 외우기도 어렵기 때문에, 한동안은 아래처럼 설정을 변경하는 배치파일을 인터넷에서 받아서 수정해서 사용했습니다. (하도 오래되어서 출처가 불명.. 2022. 9. 5.
Gradle 프로젝트를 Maven프로젝트로 Convert 하는 방법(for Eclipse) 저희 사내 PC에서는 외부 포트가 막혀있어서 Gradle 빌드를 쓸 수 없습니다. 사내에서 제공하는 Maven 빌드만 가능합니다. 그런데, 외부 강의를 들으면 소스코드가 죄다 Gradle 기반으로 되어있어서, 사내 PC에서 공부 좀 하려면 Gradle 프로젝트를 Maven 프로젝트로 변경해주어야 합니다. 구글에서 몇가지 방법을 검색해보았지만, 잘 안되어서 옆자리 후배에게 물어보고 나름 몇 가지 시도해서 어렵지 않게 Gradle프로젝트를 Maven 프로젝트로 변경하는 방법을 찾았습니다. 간략하게 설명하자면, Spring Initializer로 pom.xml 파일을 만들어 붙여넣는 방법입니다. 1. Eclipse에서 프로젝트를 오픈합니다 2. Maven 프로젝트로 Converting 합니다. File -> .. 2022. 8. 29.
Jupyter Notebook, Jupyterlab 자동완성(TAB) 안될 때 tab 키.. python Jupyterlab에서는 변수나 함수의 앞글자를 입력하고 tab키를 누르면 자동 완성해주는 기능이 있습니다. 그런데, 얼마 전부터 사내 데이터분석 플랫폼의 Jupyterlab에서 tab 눌렀을 때, 자동완성이 안 먹히기 시작했습니다. 뭐 잠깐 기능이 로딩이 안되었나 싶었는데, 며칠째 똑같은 증상이라 너무 불편했습니다. shift + tab 으로 함수 명세 보는 부분은 또 잘 나오네요. 해결방법 - jedi 패키지 문제 구글에서 검색해보니 jedi라는 패키지 때문에 발생하는 문제라서, 패키지를 삭제하거나 아래와 같은 명령어를 실행하라고 합니다. %config Completer.use_jedi = False 위 코드를 실행하고 나니 tab 눌렀을 때 자동완성 기능이 잘 먹습니다. .. 2022. 8. 23.
728x90