본문 바로가기
728x90
반응형

pandas12

[Python Data Analysis] 14. pandas 데이터 전처리 - 학습/검증 데이터 특성치 분류 필자가 앞서 작성한 데이터 분석 과정에 대해 간략하게 작성한 포스팅을 보면, 분석에 필요한 데이터 중 일부는 학습 데이터와 검증 데이터로 나누는 과정이 있다. 학습데이터는 말 그대로 분석 모델 생성 후, 해당 모델의 학습에 사용하는 데이터이고, 검증 데이터는 생성한 학습 모델이 학습한 내용에 따라 얼마나 정확한 결과가 나오는지 테스트하는 데이터라고 보면 된다. 예를 들어, 소득, 성별과 비만의 상관관계 조사를 위해 데이터를 수집하고, 해당 상관관계에 대해 학습하는 모델을 생성한다고 해보자. 그럼, 수집한 데이터의 일부를 모델 학습에 사용하고(학습데이터), 나머지 일부는 모델에 적용하여 수집한 데이터와 유사한 결과가 나오는지 확인하는데 사용한다(검증 데이터). 그런데, 데이터를 학습/검증용으로 나누기가 생.. 2021. 12. 23.
[Python Data Analysis] 13. pandas 데이터 전처리 - One-Hot-Encoding 특성치가 연속적인 값을 가지는 경우, 이 특성치를 최대최소척도(MinMaxScaler)나 표준정규화(StandardScaler) 클래스를 바로 사용하더라도 큰 문제가 되지 않는다. 하지만, 연속성을 가진 특성치가 아닌 범주형, 그것도 숫자가 아닌 문자값을 가지는 특성치라면, 분석을 위해 이들 값을 정규화하는 것도 매우 어려워진다. 그런다고 이들 값들을 함부로 숫자로 변경할 수도 없는 것이, 숫자로 변환되는 순간 sklearn의 정규화모듈들은 이들 값을 연속적인 값으로 인식하여 정확한 분석이 불가능해지기 때문이다. 만약, 남성을 10, 여성을 20으로 변환한 값으로 정규화를 시도한다면, 이 변환된 값을 분류 척도가 아닌 이산형 변수로 인식한다는 말이다. 따라서, 분류 척도의 경우 다음과 같은 방식으로 분류.. 2021. 12. 23.
[Python Data Analysis] 12. pandas 데이터 전처리 - 정규화 이번 포스팅에서는 pandas의 DataFrame 데이터를 전처리하는 방법에 대해 알아보려 한다. 데이터의 전처리는 앞선 포스팅에서 설명했다시피 scikit-learn 이라는 패키지를 사용한다. 따라서 본 포스팅을 참고하기 전, pip 명령어(python 3버전은 pip3 명령어)를 통해 아래와 같이 scikit learn 패키지가 설치되어 있는지 확인하도록 하자. numpy와 scipy도 데이터 분석에서 많이 사용하는 패키지이므로 같이 설치해주도록 하자. pip 명령어로 패키지를 설치하는 방법은 여기를 참고하자. 설치가 완료되었다면 python 실행 후, import sklearn을 입력해보자. 아무 애러 없이 프롬프트가 떨어진다면 Scikit Learn이 제대로 설치된 상태다. 데이터는 이전 포스팅에.. 2021. 12. 22.
[Python Data Analysis] 11. 데이터 분석 절차 지금까지의 Python Data Analysis 포스팅에서는 필자가 분석용 데이터를 pandas 패키지의 DataFrame이나 Series로 변환하고, 변환된 데이터를 편집, 삭제, 추가, 변형하는 기본적인 과정에 대해서 살펴보았다. 이번 포스팅에서는 날 것의 데이터를 분석하는 절차에 대해 이론적인 정리를 할까 한다. 데이터 분석은 크게 지도학습과 비지도학습으로 나뉜다. 지도학습의 경우 측정하려는 결과와, 결과에 영향을 주는 요인을 분석 모델에 적용하여 학습하고, 학습한 결과를 바탕으로 특정 요인값에 대해 결과를 예측하게 된다. 비지도학습은 지도학습과 달리 학습 데이터가 별도로 없다. 이번 포스팅에서는 지도학습에 대해서 먼저 정리를 하려 한다. Python은 scikit-learn이라는 패키지를 통해, .. 2021. 12. 12.
[Python Data Analysis] 10. DataFrame 이상치/결측치 데이터 전처리 이번 포스팅에서는 수집한 데이터에서 나타나는 이상치와 결측치를 다루는 방법에 대해 다루려 한다. 먼저 포스팅을 진행하기 전에 이상치와 결측치라는 용어의 의미를 알아볼 필요가 있다. 그 전에, 오늘 살펴볼 매서드에 대해 간략히 정리한다. # pandas.DataFrame.isnull() : 결측치 여부를 True/False 값으로 반환. 결측치인 경우 True # pandas.DataFrame.notnull() : 결측치 여부를 True/False값으로 반환. 실측치인 경우 True # pandas.DataFrame.dropna(axis) : 결측치가 포함된 데이터를 제외하고 추출 (axis = 0 인 경우 결측치가 포함된 Index 삭제, 1인 경우 Column 삭제) # pandas.DataFrame... 2021. 11. 22.
[Python Data Analysis] 9. DataFrame 데이터 조건 검색 및 수정 이번 포스팅은, 앞서서 보았던 DataFrame 데이터에 대해 특정 조건을 만족하는 값을 지니는 데이터 행을 추출하고, 기존에 존재하는 데이터를 바꾸는 방법에 대해 알아보려 한다. 특정 조건을 DataFrame에 명시하기 위해서, DataFrame의 특정 위치를 찾는 방법에 대해 어느정도 익숙한 상태여야 한다. 이 부분이 궁금하신 분들은 필자의 Python Data Analysis 이전 포스팅들을 참고하도록 하자. 오늘 확인할 내용은 아래와 같다. [데이터 조건 검색] # pandas.DataFrame[ 검색 조건1 & 검색 조건2] : 검색 조건1, 2를 모두 만족하는 데이터만 출력 # pandas.DataFrame[ 검색 조건1 | 검색 조건2] : 검색 조건1, 2 중 하나를 만족하는 데이터만 출력.. 2021. 11. 20.
[Python Data Analysis] 8. DataFrame 데이터 슬라이싱 지난 포스팅에서는 DataFrame에 작성된 데이터에 대한 간략 분석 정보 및 기본 통계 내용에 대해 알아보았다. 이번 포스팅에서는 방대한 DataFrame에서 분석자가 실제로 필요한 데이터만 추출하는 슬라이싱에 대해 알아보려 한다. 슬라이싱은 거창한 것이 아니다. Python에서 List나 Tuple 등을 많이 사용해봤다면 알 수 있는 [:] 문법이 주를 이루기 때문에 Array형태의 변수 타입을 많이 다뤄보셨던 분들이라면 큰 어려움 없이 익숙해 질 수 있을 것이다. 이번 포스팅에서는 필자가 앞서 포스팅 한 내용 중 loc, iloc, df[]와 관련된 내용을 조금 더 상세히 다루려 한다. 오늘은 매서드 자체 기능에 대해 살펴보는 것이 아니라, DataFrame의 슬라이싱 코딩의 포맷을 알아보기 위함이.. 2021. 11. 17.
[Python Data Analysis] 7. DataFrame 데이터 정보 확인 및 기본 통계 이번 포스팅에서는 DataFrame으로 변환한 정보들의 개괄적인 내용에 대해 알아보려 한다. DataFrame의 index, column이 무엇으로 구성되어 있는지, 아니면 DataFrame의 크기는 어떤지 등에 대해 아는 것만으로도 분석하려는 데이터에 대한 대략적인 이해가 가능하기 때문이다. 본 포스팅에서는 조금 더 깊게 들어가, 숫자 형태로 구성된 특정 필드값에 대해 기본적인 통계 개념을 적용할 수 있는 매서드와 클래스 변수들도 확인해보려 한다. 오늘의 포스팅에서 확인하려는 내용은 아래와 같다. [ 데이터 정보 확인 ] # pandas.DataFrame.index : DataFrame의 Index 정보 표시 # pandas.DataFrame.columns : DataFrame의 column(필드) 정.. 2021. 11. 14.
[Python Data Analysis] 6. DataFrame 파일 입출력 지난 포스팅에서는 DataFrame의 index와 관련된 매서드에 대해 간략하게 알아보았다. 이번 포스팅에서는 데이터가 작성된 파일을 읽어들여 DataFrame으로 만들거나 DataFrame을 특정 파일로 저장하는 방법에 대해 조금 더 깊게 알아보려 한다. 앞서서 pandas 모듈에 대해 포스팅할 때 간략하게 언급했지만, 특정 데이터 정보만을 추출하는 부분과 데이터를 파일로 저장하는 내용이 누락되어 있어서 말이다... 오늘 포스팅에서 확인할 내용은 아래와 같다. ** 파일 읽기/쓰기의 경우, 데이터 분석에 많이 사용하는 csv, text, excel에 대해서만, 그 중에서도 csv에 대해 중점적으로 살펴볼 예정이다. [ 데이터 파일 읽어오기 ] # pandas.read_csv("파일명") : "파일명"의.. 2021. 11. 8.
[Python Data Analysis] 5. DataFrame, Index 관련 매서드 지난 포스팅에서는 데이터 분석 모듈인 Python Pandas의 가장 기본이 되는 객체형인 DataFrame의 구조와, 이를 탐색하는 방법에 대해 간략하게 알아보았다. DataFrame은 기본적으로 행인 Index와 열인 Column으로 이루어진 2차원 구조, 즉 표의 형태를 이루고 있음을 확인할 수 있었다. 이번 포스팅에서는 DataFrame의 Index와 관련된 매서드 및 활용법에 대해 알아보려 한다. Index의 경우, 각 행의 고유번호를 의미하는 경우가 많은데(순번, 수험번호, ID 등), 이 때문에 특정 정보를 나타내는 가장 대표적인 정보라고 볼 수 있다. 데이터베이스에서는 보통 Primary Key의 개념으로 많이 사용된다. 오늘 학습할 매서드는 아래와 같다. # pandas.DataFrame.. 2021. 11. 3.
[Python Data Analysis] 4. DataFrame 객체 이번 포스팅에서는 Pandas의 기본 객체인 DataFrame에 대해 알아보려 한다. 이전의 포스팅에서 살펴봤듯이, Pandas 모듈은 여러 형태의 파일에 기록된 데이터를 DataFrame이라 불리는 표 형태의 객체로 불러들일 수 있다. DataFrame을 살펴보기 위해, 지난 포스팅에서 사용한 json 파일로부터 내용을 추출하여 DataFrame 객체로 변환을 먼저 진행했다. 본격적으로, DataFrame 구조를 알아보고, 이 객체를 어떻게 활용할 수 있는지 알아보도록 하자. 1. DataFrame의 정보 확인 데이터에 사용하는 표는 2차원 구조를 띄고 있다. 일반적으로 이 2차원 표에서 가로축은 개별 데이터에 대한 정보가 작성되고, 새로 축은 개별 데이터 중, 특정 정보의 집합을 나타낸다. 가로축의 .. 2021. 11. 2.
[Python Data Analysis] 3. Pandas 모듈 Python을 통해 데이터를 분석하면서 반드시 설치해야되는 패키지(모듈)로는 pandas가 있다. 이 pandas 모듈은, 특정 조건을 만족하는 List, Tuple 뿐만 아니라, Excel, CSV, 심지어 분석이 가능한 포맷이라면 클립보드에 복사된 내용까지도 분석할 수 있다. 따라서, 빅데이터 분석기사 실기 시험 시 Python으로 응시를 한다고 하면, 반드시 pandas 패키지의 사용법을 숙지하고 있어야 한다. 1. Pandas 패키지 설치 pip install 명령어를 사용하여 pandas 패키지를 설치하자. windows 사용자는 cmd로 이동하여 pip 명령어를 사용하자. # 명령어: pip install pandas 설치가 완료되면, Python 인터렉티브 모드에서 아래와 같이 pandas .. 2021. 9. 20.
728x90
반응형