목록Python (11)
Hippo's data
오늘은 다운캐스팅(Downcasting)에 대해 알아보겠습니다!데이터를 불러와서 모델링을 하다보면 데이터가 너무 커서 속도가 너무 오래걸리거나, 메모리 초과(OOM: out-of-memory) 오류가 발생하는 경우가 종종 있는데욥! 이를 해결하기 위해 데이터 사이즈를 줄이는 다운캐스팅(Downcasting) 방법을 이용할 수 있습니다!! 파이썬(Python)에서는 정수, 부동소수점 변수 저장시 메모리에서 차지하는 바이트에 기반하여 데이터 타입을 선택하게되는데욥 데이터 값을 손상시키지 않으면서 각 변수를 저장하는 가장 용량이 적은(메모리를 적게 사용하는) 데이터 타입으로 저장하여 데이터의 총 사이즈를 줄일 수 있습니다. 즉, 무손실 압축(lossless compression)이 가능합니다! 예) int64..
안녕하세요! 오늘은 파이썬 문법중에 반복문이나 조건문을 제어하는 문법인 continue, pass, break의 차이점에 대해 알아보겠습니다! 항상 코드를 작성하다 보면 세 기능 모두 뭔가 제약을 주는거 같은데 항상 헷갈리도라구욥,,,이번 기회에 정확히 알아보도록 합니닫!# continue for i in range(5): if i == 3: continue # i가 3일 때 아래 코드를 건너뛰고 다음 반복으로 print(i)0124 해당 스텝을 건너 뛰고 다음 반복으로 넘어갑니다반복문 내에서만 사용가능 # break for i in range(1, 5): if i == 3: break # 반복문을 즉시 종료 print(..

오늘은 판다스 데이터프레임에서 중간(행) 생략없이 출력하는 법에 대해 알아보겠습니다!! csv파일을 판다스 데이터프레임 형식으로 받아서 열어보았는데요 너무 값이 많은 나머지 아래와 같이 ... 생략된 것을 확인할 수 있습니다! pd.set_option('display.max_rows', None) 이 코드를 통해 해결할 수 있는데요! pandas 라이브러리 설정을 변경하여 데이터프레임 출력시 행의 최대 개수를 제한하지 않도록 설정하는 방법입니다! 'display.max_rows' -> 행의 최대 개수 설정 None -> 출력 행수 제한없음 그렇다면 다시 돌아가고 싶다면 어떻게 해야 할까요? pd.set_option('display.max_rows', 60) -> 최대 행 수가 다시 기본값인 60으로 설정..

오늘은 함수(Function)와 메소드(Method)의 차이에 대해 알아보겠습니다!!! 사실 프로그래밍에 대해 공부하다가 보면 함수와 메소드를 혼용하면서 쓰는 경우가 많습니다 하지만 두 용어 모두 선언 후에 특정한 작업을 수행한다는 점에서 하는 역할은 동일한데욥 그렇다면 함수와 메소드의 차이가 무엇일까요? # 함수(Function)란? 클래스 없이 파일에 자체적으로 선언하여 사용하는 경우 -> 프로그래머스 코테문제에도 등장하는 def 선언 또한 일반적인 함수입니답!! # 메소드(Method)란? 클래스 안에 선언하는 함수 메소드와 함수의 큰 차이점은 '클래스' 안에 있나 없나의 차이인데욥!! 그렇다면 클래스란 무엇일까요?? # 클래스(Class)란? 객체를 만들기 위한 틀 / 설명서 / 설계도 입니다!!..
오늘은 저번 데이터프레임 변형에 이어서 정형 데이터분석에서 주로 사용되는 데이터 프레임 병합입니다 데이터 전처리단계에서 데이터 병합이 필요한 경우가 많은데요 2가지 이상의 데이터 프레임을 병합하는 방법에 대해 알아보겠습니다! 1. concat 활용 2. merge/ join 활용 1. concat 활용 concat함수는 판다스에서 데이터프레임 병합시 사용하는데요 concatenate(사슬같이 잇다)의 약자 속성이 동일한 데이터프레임 병합시 주로 활용 1) 칼럼명 동일한 경우 pd.concat([df1, df2], ignore_index=False, axis =1) ignore_index -> False : 기존 index유지(default) / True : 기존 index무시(index재배열) axis ..
오늘은 저번 데이터프레임 조회 및 추출에 이어서 정형 데이터분석에서 주로 사용되는 데이터 프레임 변형의 3가지 방법에 대해 알아보겠습니다! 데이터분석을 할 때 데이터의 행,열 구조를 변형해야 하는 경우가 많은데요 이 경우 주로 활용되는 방법이 groupby(그룹화), pivot, stack 입니다 1. groupby(그룹화) -> 같은 값을 하나로 묶어 통계 또는 집계 결과를 얻기위해 사용 -> groupby 결과는 딕셔너리 형태 data_sex = data.groupby('sex') data_sex.groups -> groups이하여 그룹 속성 살펴볼 수 있음 {'F': [0, 2, 3, 5, 7, 9, 12, 13, 14, ...], 'M': [4, 6, 8, 11, 15, 18, 22, 23, 27..
오늘은 정형 데이터분석에서 주로 사용되는 데이터 프레임 형식 다루기에 대해 정리해보겠습니다 데이터프레임(DataFrame)이란? ->2차원의 행(col), 열(row)의 테이블 구조를 가진 자료형 보통 테이블 형태의 파일은 데이터프레임형식으로 파일을 읽는데요 파일 읽고 데이터프레임 생성 data = pd.read_csv('경로') 파라미터 - sep - 각 데이터 값을 구별하기 위한 구분자(separator) 설정 - index_col : index로 사용할 column 설정 - usecols : 실제로 dataframe에 로딩할 columns만 설정 (usecols은 index_col을 포함해야 함) # 함수에 커서올리고 shift+tab을 누르면 해당 함수의 parameter 볼 수 있음 - head..
오늘은 기초적인 Python 문법에 대해 다뤄보겠습니다 우연한 기회로 KT에서 주관하는 AI능력시험인 AICE associate 자격증 시험을 볼 기회가 주어져서 공부하던 중에 데이터 분석과 관련된 파이썬 기초 문법들에 대해 다시 정리해 보았습니다 ( AICE 시험에 대해서도 나중에 따로 정리해 보겠습니다 ㅎㅎㅎ) # 파이썬에서 자리수 숫자는 0부터시작!! # 뒷 자리수는 -1부터 시작!! x = "My blog name is Hippo's data" - 인덱싱(Indexing) 사전적의미: 무언가를 가리킨다 형태 => x[뽑을 자리번호] x[0] -> 'M' x[-1] -> 'a' - 슬라이싱(Slicing) 사전적 의미: 무언가를 잘라낸 형태 => x[시작번호 : 끝번호] # 뒷번호는 포함하지 않음(..