본문 바로가기
반응형

Python/데이터 다루기19

데이터 과학자가 알아야 할 가장 중요한 5가지 Python 기술 Python은 데이터 분석, 조작, 모델링 등에 사용할 수 있는 다양한 라이브러리와 프레임워크를 제공하므로 데이터 과학자에게 가장 중요한 도구 중 하나입니다. 따라서 다양한 Python 도구와 프레임워크를 터득하는 것이 매우 중요합니다. 그러나 처음 시작하는 사람들의 경우 그 종류와 양이 너무 많아 혼란스러울 수 있습니다. 이번 포스팅에서는 모든 데이터 과학자가 해당 분야에서 성공하기 위해 알아야 하는 5가지 Python 기술에 대해 설명하고자 합니다. 이러한 기술에는 데이터 조작 및 정리, 데이터 시각화, 기계 학습, 웹 스크래핑, 데이터베이스 작업이 포함됩니다. 이번 포스팅을 마치면 모든 데이터 과학자에게 필수적인 핵심 Python 기술을 더 잘 이해할 수 있습니다. 목차 1. 프로그래밍 기초 2. .. 2023. 1. 14.
Python의 Loop? NO! , Python의 Vectorization? OK!!! 소개 프로그래밍에서 루프는 매우 자연스럽고, 거의 모든 프로그래밍 언어로 루프에 대해 배웁니다. 기본적으로 반복 작업이 있을 때마다 루프를 사용합니다. 하지만 엄청나게 많은 수의 반복(수백만/수십억 행)으로 작업할 때 루프를 사용하는 것은 별로 좋은 방법이 아닙니다. 나중에 작동하지 않는다는 것을 깨닫기 위해 몇 시간 동안 갇혀있을 수 있습니다. 그렇기 때문에 파이썬에서는 벡터화를 구현하는 것이 매우 중요합니다. 벡터화(Vectorization)란? 벡터화는 데이터 세트에서 (NumPy) 배열 작업을 구현하는 기술입니다. 백그라운드에서 한 번에 하나의 행을 조작하는 'for' 루프와 달리 한 번에 배열(array) 또는 시리즈(Series)의 모든 요소에 작업을 적용합니다. 이번 포스팅에서는 파이썬 루프.. 2023. 1. 14.
Netflix 컨텐츠에 대한 탐색적 데이터 분석에서 얻은 흥미로운 통찰력 이번 포스팅에서는 Netflix에서 제공되는 TV 프로그램 및 영화에서 흥미로운 통찰력을 얻기 위한 분석을 진행해 보고자 합니다. NumPy, Pandas, Matplot 및 Seaborn 라이브러리를 사용하여 데이터를 분석하고 시각화하도록 하겠습니다. 시작하기 이 데이터세트는 2020년 현재 Netflix에서 제공되는 TV 프로그램 및 영화로 구성되어 있습니다. 해당 데이터는 캐글에서 다운로드하시면 됩니다. (https://www.kaggle.com/shivamb/netflix-shows) import numpy as np import pandas as pd netflixData = pd.read_csv("C:/netflix_titles/netflix_titles.csv") netflixData.hea.. 2022. 9. 13.
Box Plot (분포에서 이상값 감지 및 제거) 머신 러닝에서 특정 데이터 포인트는 다른 데이터 포인트에 비해 모델의 성능이 좋거나 혹은 나쁘게 만듭니다. 이러한 데이터 포인트는 더 자세히 조사하면 데이터 영역 측면에서 매우 비현실적인 경향을 보입니다. 이러한 데이터 포인트를 이상값이라고 하며 이번 포스팅에서는 데이터 세트에서 이상값을 시각화한 다음 감지하고 제거하는 방법을 살펴보겠습니다. 통계에서 이상치는 다른 관측치와 크게 다른 데이터 포인트입니다. 이러한 이상값 데이터 포인트는 실험 오류, 측정의 가변성, 문서 오류 등과 같은 다양한 요인으로 인해 발생할 수 있습니다. 다섯 수치 요약 및 상자 그림(Box Plot) 데이터 세트에서 이상값을 감지하는 가장 널리 사용되는 방법 중 하나는 상자 그림 시각화를 사용하는 것이며, 이 그림을 사용하여 사분.. 2022. 9. 11.
데이터 처리 시 알아야 할 7가지 메모리 최적화 기술 실제 적용 가능한 기계 학습 모델을 설계하고 구축하는 것은 항상 데이터 과학자에게 큰 관심입니다. 이로 인해 불가피하게 최적화되고 효율적이며 정확한 방법을 대규모로 활용하게 되었습니다. 런타임 및 메모리 수준의 최적화는 실제 및 사용자 대면 소프트웨어 솔루션을 지속 가능하게 제공하는 데 기본적인 역할을 합니다. 이번 포스팅에서는 최적화의 또 다른 영역을 탐색하고 Pandas DataFrame의 메모리 사용을 최적화하는 몇 가지 기술을 소개하고자 합니다. 이러한 방법은 Pandas에서 일반적인 테이블 형식 데이터 분석, 관리 및 처리 작업을 효율적으로 수행하는 데 도움이 됩니다. 1. DataFrame에 대한 내부 수정 DataFrame을 Python 환경에 로드하면 일반적으로 DataFrame에 대해 많.. 2022. 8. 27.
Python에서 생산성을 높이는 최고의 팁 Python은 아주 깔끔하게 코드를 작성하는 데 도움이 되는 많은 내장 함수를 제공합니다. 하지만, 일반적으로 코드의 품질과 가독성을 향상하기 위해 Python에서 사용되는 몇 가지 생산적인 팁을 잘 인식하지 못합니다. 이번 포스팅에서는 Python의 특징을 활용하여 생산성을 높이는 최고의 팁에 대해서 알아보겠습니다. 자! 코드를 파이썬스럽게 작성해 보겠습니다. List Comprehension 사용 기존 리스트에서 요소를 리스트에 추가하려는 경우 일반적인 방법은 리스트를 반복한 다음 새 리스트에 값을 추가하는 것입니다. 그러나 Python은 리스트 생성을 처리하고 값을 넣는 편리한 방법을 제공합니다. 구문이 더 짧기 때문에 더 깔끔해 보이고 리스트 내에서 단일 for 루프 유틸리티를 사용하여 복잡한 코.. 2022. 7. 27.
(EDA)파이썬을 이용한 탐색적 데이터 분석 프로젝트 Kaggle의 Google Play 스토어 데이터 세트에서 EDA 수행 탐색적 데이터 분석(EDA): EDA(Exploratory data analysis)는 모든 데이터 분석에서 중요한 단계입니다. EDA는 데이터 세트에 대한 이해를 바탕으로 패턴 및 이상치(outlier)를 발견하고, 가설을 세우기 위해 데이터 세트를 탐색하는 프로세스입니다. EDA는 데이터 세트의 수치 데이터에 대한 요약 통계를 생성하고, 데이터를 더 잘 이해하기 위해 다양한 그래픽 표현을 생성하는 것을 포함합니다. 이번 포스팅에서는 Python을 이용해서 예제 데이터 세트를 가지고 EDA의 과정을 처음부터 끝까지 수행해 보겠습니다. 사용하고자 하는 Python library는 Pandas, Numpy, matplotlib, sea.. 2022. 7. 22.
반복문을 활용한 일정 패턴의 변수 생성 - globals() 데이터를 다루다 보면, 특히, 금융 데이터를 다루다 보면, 시점에 따라 유사한 데이터 분석을 해야 할 때가 있다. 월별 대출 실적, 월별 카드 이용 실적, 월별 대출 잔액, 월별 연체율 등등..... 이런 데이터 분석을 하기 위한 데이터를 정의할 때, ******_yyyymm 형식을 많이 사용한다. *****_202206 : 2022년 6월 말 데이터 *****_202207 : 2022년 7월 말 데이터.... 금융기관에서는 아직까지 SAS를 활용한 데이터 분석이 주를 이루고 있다. SAS에서는 매크로를 사용하여 이를 간단히 처리할 수 있다. ex) SAS macro code %macro loan(yyyymm); data library.data_set_&yyyymm. ; set 데이터셋 ; /* sas .. 2022. 7. 16.
데이터 분석을 위한 강력한 Pandas 함수 2 데이터 전처리는 데이터 분석에 있어 가장 중요한 부분이죠. 데이터 전처리 과정에는 정리, 구조 조정, 병합, 중복 제거, Null 또는 NaN 값 제거 등과 같은 다양한 작업이 포함됩니다. Pandas는 다양한 데이터 사전 처리 작업을 진행하기 위해 많은 함수를 제공합니다. Pandas는 Series 및 DataFrame을 포함하는 데이터 작업을 위해 두 가지 유형의 데이터 구조를 제공합니다. 지난번 포스팅에서 데이터 분석을 위한 강력한 Pandas 함수에 대해 1차적으로 알아보았는데요. 데이터 분석을 위한 강력한 Pandas 함수 1 Pandas는 파이썬에서 데이터 정리와 관련하여 국제적 표준과도 같습니다. Pandas는 다차원 배열을 지원하는 Numpy를 기반으로 합니다. Pandas는 Data Sc.. 2022. 6. 6.
Python에서 Lambda 함수를 사용하는 5가지 팁 Lambda 함수는 파이썬에서 가장 유용한 함수 중 하나로, 코드 블록을 간단한 한 줄짜리로 바꿀 수 있습니다. 데이터 전처리, 피쳐 엔지니어링 및 기계 학습 워크플로의 거의 모든 곳에서 자주 사용합니다. 그러나 처음 접할 경우, 사용 방법이 다소 어렵게 느껴질 수 있습니다. Lambda 함수를 이해하는 데 도움이 되는 몇 가지 간단한 개념이 있습니다. 이번 포스팅에서는 Lambda 함수를 사용하는 방법에 대해서 알아보겠습니다. import pandas as pd toy = pd.read_csv("D:/Python_apply/toy.csv") toy Lambda 함수의 순서 간단히 말해서 Lambda 함수는 python에서 함수를 호출하는 것과 같습니다. 위의 데이터 예시에서 'install' 항목에 대.. 2022. 6. 4.
항목에 쉼표(,)를 포함하고 있는 CSV 파일 읽기 데이터 분석을 하기 위해서 추출된 CSV 파일 중에 간혹 항목 값에 쉼표를 포함하고 있는 경우가 있는데요. CSV 파일은 항목 간 구분이 쉼표(,)로 되어 있기 때문에 단순히 read_csv 파일로 읽을 수가 없어요. 이럴 때, 가장 좋은 방법은 데이터 엔지니어분께 쉼표(,)가 아닌 다른 구분자로 추출 요청하는 게 가장 좋은 방법인데요. 항목에 쉼표(,)가 어떤 방식이든 규칙적으로 들어가 있다면, 이 규칙을 고려하여 데이터 프레임으로 변환에 성공할 수 있어요. 아래 업로드한 데이터를 데이터 프레임으로 전환하는 과정을 포스팅해보겠습니다. 아래 첨부된 데이터를 다운로드하세요. 우선, pandas를 로딩한 후에 데이터 읽기를 시도했어요. 에러가 뜨네요. 최하단의 에러를 보니, 4개의 항목이 있어야 하는데, 1.. 2022. 5. 24.
알아두면 데이터 분석 시 시간을 절약할 수 있는 16가지 Python 및 Pandas Hacks 1. 객체의 메모리 사용량 확인하기 알아두면 데이터 분석 시 시간을 절약할 수 있는 16가지 Python 및 Pandas Hacks 중 첫 번째는 객체의 메모리 사용량을 확인하는 것입니다. import sys import pandas as pd titanic = pd.read_csv("d:/titanic.csv") sys.getsizeof(titanic) 2. 문자열을 바이트로 변환하기 알아두면 데이터 분석 시 시간을 절약할 수 있는 16가지 Python 및 Pandas Hacks 중 두 번째는 문자열을 바이트로 변환하는 것입니다. s = “I want to convert this string to byte” s.encode( ) 3. 두 개의 리스트 개체 병합하기 알아두면 데이터 분석 시 시간을 절약할.. 2022. 5. 23.
데이터 분석의 70%를 처리할 수 있는 10가지 Python 작업 데이터 분석의 주요 업무는 데이터 사전 처리, 데이터 분석, 기계 학습 모델 생성, 모델 배포와 같은 다양한 작업을 포함합니다. 데이터 분석을 하기 위해서는 첫 번째, 데이터 조작(data handling) 기술을 알아야 합니다. 데이터 조작은 데이터를 읽고, 데이터에서 질문에 답을 얻을 수 있는 형식으로 변환하는 것에서부터 시작됩니다. Python 프로그래밍 언어에는 데이터 조작 및 데이터 분석 작업을 위한 Pandas 라이브러리가 있습니다. 이번 포스팅에서는 데이터 분석을 위해 알아야 할 상위 10가지 Python(pandas) 에 대해서 살펴보겠습니다. 1. Reading Dataset(데이터 읽기) 데이터는 모든 분석의 기본 구성 요소입니다. csv, Excel, 텍스트 등과 같은 다양한 파일 형.. 2022. 5. 21.
Python에서 JSON을 사용하는 방법(for 초급자) JSON은 데이터를 저장하고 전송하는 뛰어난 방법입니다. JSON에 대한 기본 개념은 아래 포스팅을 참고하세요. JSON에 대한 소개 JSON은 JavaScript Object Notation의 약어입니다. 데이터 교환 형식으로 데이터를 저장하고 전송하는 방식이라는 멋진 표현입니다. 사용 사례에 매우 많아, 이루 말할 수 없을 정도입니다. JSON은 Ja zzinnam.tistory.com 이번 포스팅에서는 Python내에서 JSON의 힘을 활용할 수 있는 방법을 알아보고자 합니다. Python은 JSON이라는 패키지를 통해 JSON에 대한 지원을 하고 있으며 JSON을 딕셔너리(dictionary)와 유사하게 취급합니다. Python 내에서 JSON은 기본 자료형 (예: 문자열 및 숫자)과 중첩 목록,.. 2022. 5. 13.
JSON에 대한 소개 JSON은 JavaScript Object Notation의 약어입니다. 데이터 교환 형식으로 데이터를 저장하고 전송하는 방식이라는 멋진 표현입니다. 사용 사례에 매우 많아, 이루 말할 수 없을 정도입니다. JSON은 JavaScript를 의미하지만, Python, Ruby, PHP 및 Java와 같은 다른 언어와 함께 사용됩니다. 이외에도 JSON 형식이 여러 다양한 분야에서 사용되므로, JSON이 어떻게 작동하는지 이해하는 것이 매우 중요합니다. JSON은 객체 리터럴과 배열 리터럴이 JavaScript에 추가된 1999년 12월에 JavaScript의 하위 집합으로 등장했습니다. 거의 모든 프로그래밍 언어가 JSON 데이터를 구문 분석할 수 있을 정도로 빠르게 언어 독립적(language-indep.. 2022. 5. 8.
데이터 분석을 위한 강력한 Pandas 함수 1 Pandas는 파이썬에서 데이터 정리와 관련하여 국제적 표준과도 같습니다. Pandas는 다차원 배열을 지원하는 Numpy를 기반으로 합니다. Pandas는 Data Science 도구 상자에 추가할 때 장점이 될 수 있습니다. pandas에서는 1인치 길이의 아인슈타인 방정식 { E=mc**2 }보다 길지 않은 간단한 함수를 사용하여 짧은 시간에 큰 작업을 수행할 수 있습니다. Pandas 기능 Pandas는 큰 작업을 쉽게 수행할 수 있게 해주는 매우 빠른 도구입니다. 여기에는 데이터 정리, 누락된 값 채우기, 데이터 정규화, 통계 분석 등이 포함됩니다. Jupyter Notebook에 Pandas 설치 Pandas는 Anaconda 배포판의 일부이며 다음 명령으로 Anaconda 프롬프트를 사용하여.. 2022. 5. 1.
pandas를 활용한 데이터 정리 우리가 현실에서 마주하게 되는 실제 데이터 세트는 정리되지 않은 지저분한(?) 형태이므로 데이터가 분석에 적합하도록 데이터 전처리 또는 정리가 필수적입니다. 데이터 정리에는 1) 데이터 간격 정리 2) 데이터 오류 수정 3) 데이터 세트 결합 4) 데이터 집계 5) 새로운 feature 생성 등이 포함됩니다. 이번 포스팅에서는 pandas를 사용하여 'Marks_data'라는 매우 간단한 데이터 세트를 활용해서 데이터 정리 방법에 대해 설명합니다. 위의 데이터 세트를 다운로드하여 pandas 패키지로 로딩합니다. import pandas as pd # 데이터 로딩 marksData = pd.read_csv('C:\marks_data.csv') marksData marksData.shape # (19, 3.. 2022. 4. 30.
파일 입/출력(with 파이썬) 파이썬을 이용한 파일 입/출력에 대해서 알아보겠습니다. 일반적으로 새로운 데이터 파일을 생성하기 위해서는 ① 파일 열기 ② 데이터 입력하기 ③ 파일 저장 및 닫기 의 과정을 거쳐야 하고요. 생성한 파일을 분석하기 위해서 ① 생성한 파일을 열고, ② 파이썬 환경으로 읽고, ③ 파일을 닫은 후 데이터 분석을 진행하게 됩니다. 물론, pandas 라이브러리를 활용해서도 가능하지만, 이번 포스팅에서는 파일 입/출력 관점에서 실습을 진행하도록 하겠습니다. 텍스트 파일 생성하기 1 파이썬 코드를 활용해서 텍스트 파일 하나를 생성해 보겠습니다. ## 텍스트 파일 생성 newFile = open("C:/HJM/Python_apply/new_text_file.txt", mode = "w") # 텍스트 파일(new_tex.. 2022. 3. 1.
오픈 API를 활용한 공공데이터 불러오기(데이터 포맷: json) with Python 지난 포스팅에서는 R을 활용한 공공데이터 불러오기를 알아보았는데요. 혹시라도 R을 활용한 방법이 궁금하신 분들은 아래 2개의 포스팅 글을 참고하시면 됩니다. 오픈 API를 활용한 공공데이터 불러오기(데이터 포맷: xml) 공공데이터 홈페이지 가입 및 데이터 추출 준비 정부가 개방한 공공데이터를 오픈 API를 활용해서 추출하는 방법에 대해서 설명드릴게요. 우선, 공공데이터 홈페이지에 접속해 볼게요. 공공데이 zzinnam.tistory.com 오픈 API를 활용한 공공데이터 불러오기(데이터 포맷: json) 오픈 API를 활용한 공공데이터 불러오기(데이터 포맷: json)에 이어서 json 형태의 데이터 포맷을 불러오는 R 프로그래밍을 알아보도록 할게요. 공공데이터를 활용하기 위한 준비 단계는 여기를 참 .. 2022. 1. 29.
반응형