본문 바로가기
Python

[TIL]Python과 Pandas의 특징_27일차(Library)

by 공부하죠 2024. 6. 9.
반응형

 

✍🏻학습 내용📚

1. Python 언어적 특성 이해 (SQL 과의 차이점)

2. Python 에서의 Library란? ( Library개념 )

3. Pandas 이란? ( Library 지원함수와 핵심 요약 )


1. Python 언어적 특성 이해 🍀

 💡 Python 은 SQL 과의 차이점은 무엇일까요?

SQL 은 전체적으로, Python 은 하나하나!SQL이 먼저 상용화 되었으며, 이를 개선 및 응용하기 위해 네덜란드의 소프트웨어 개발자가 Python을 개발하였습니다.

아래 표에서 장/단점을 살펴보겠습니다.

 

🔴SQL파 VS 🔵Python파

결론적으로는 데이터를 파헤치기 위해서는 Python을 놓을 수 없기 때문입니다.

구분 🔴 SQL  🔵 Python
언어 절차지향 언어 객체지향 언어
역사 개발: 1970 년
표준화: 1986 년
개발: 1989 년
표준화: 1991 년
장점 select, from 등의 구문 등 하나의 구문으로 처리되므로, 실제 컴퓨터가 질의를 어떻게 처리하는 지 이해할 필요가 없다는 점에서 이해가 쉬움 한 줄(셀) 단위로 실행되어, 트러블 슈팅이 용이(틀린 셀만 다시 작업) 다양한 Library 가 지원되어, 데이터 시각화 , 통계적 의미, 모델링, 자동화 등 데이터 핸들링을 자유롭게 할 수 있음
단점 테이블 생성, 삭제, 복제, 치환 은 가능하지만, 시각화 등 Library 지원이 되지 않아 데이터 핸들링시 한계점 존재

실제 쿼리 컴파일(검사)시 트러블슈팅이 오래 걸릴 수 있음
같은 QUERY 구문을 수행한다고 했을 때, SQL 보다 살짝 느리게 출력될 수 있음

 

코드에 에러가 없는지 검사하는 것을 컴파일이라고 한다. 컴파일을 하는 언어를 절차지향 언어라고 한다.

절차 지향 언어에는 SQL과 C언어가 있다.

 

이번 글에서는 Python Enviroment 를 이해하고, Data Management 와 DataVisualization 을 집중적으로 다루겠습니다.아래 그림은 Python이라는 언어가 작동할 수 있는 환경과 데이터 응용 분야입니다.


2. Python 에서의 Library란?

💡 라이브러리가 뭐지? 

1) 알고리즘의 늪🌌

알고리즘 푸시면서 생소한 부분이 많은데요,이 어려운 알고리즘을 회피할 수 있는 방법이 바로 Library 입니다!

라이브러리란 “우리가 자주 쓰는 함수들을 모아 놓은 묶음”으로 이해해주세요!

즉, 예쁘게 정리되어 있는 라이브러리를 간단히 호출(import)만 함으로써, 복잡한 연산도 쉽게 한 줄로 해결할 수 있게 됩니다. 

 

2) Library 호출하기 🧭

pandas 라는 라이브러리(모듈)를 호출(import) 하고 그 이름을 pd 로 줄여서 쓰입니다.

즉, pandas 라는 라이브러리 내 모든 함수를 불러오게 됩니다.

 

하지만 가끔씩 우리는 from 으로 시작하는 구문을 마주하게 되는데,이는 라이브러리 중 특정 함수만 사용하고 싶을 때 사용됩니다.

import pandas as pd (pandas 는 6 글자라서 pd 로 줄여 명령)
import numpy as np
import time
from matplotlib.pyplot as plt

 


3. Pandas 란?

💡 데이터를 다루기 위한 가장 기본적인 라이브러리!

1) Pandas는 왜 사용해야 할까요?

• 역사: 계량 경제학 용어인 Panel Data 와 Analysis 의 합성어로, 금융회사에 다니고 있던 Wes Mckinney에 의해 2008년 설계된 라이브러리 입니다. Numpy 를 기반으로 개발되었기에, 해당 라이브러리와도 호환성이 좋습니다.

목적: 서로 다른 여러 가지 유형의 데이터를 시리즈와 데이터 프레임이라는 공통의 포맷으로 정리하여 쉽고 빠른 연산 및 분석을 위한 함수를 제공하기 위함을 목적으로 두고 있습니다. 즉, json, html, csv, hdf5, sql 모두 DataFrame으로 통일해서 표현할 수 있습니다.

2) 데이터 프레임( DataFrame )이란? 2차원

통계와 머신러닝 모델에서 가장 기본이 되는(스프레드시트와 같은) 테이블 형태의 데이터 구조를 말합니다. 이는, 기본적으로 행과 열로 구성된 이차원의 행렬을 뜻합니다.

데이터프레임이란, 파이썬 및 R 에서 사용하는 특정 데이터 포맷입니다.

 

3) 시리즈( Series )이란? 1차원

Pandas Series는 테이블의 열과 같으며, 모든 유형의 데이터를 보유하는 1차원 배열입니다.

통계와 머신러닝 모델에서 가장 기본이 되는(스프레드시트와 같은) 테이블 형태의 데이터 구조를 말합니다.

4) Library 지원함수와 핵심 요약

Library 이름 핵심 요약

Library 지원함수 이름 핵심 요약 
Pandas ☑️ Pandas는 R의 dataframe 데이터 타입을 참고하여 만든 것으로 pandas dataframe 이라고 부름
☑️Pandas의 dataframe: 테이블 형식의 데이터로 열(column), 행(row), 인덱스(index) 로 구성
☑️ 리스트, 튜플, 사전 타입의 형태로 데이터를 보관
▶️ import pandas as pd
Numpy ☑️ 파이썬의 리스트를 확장한 다차원 배열 제공
☑️ 난수생성, 푸리에변환, 행렬연산, 통계분석을 지원
☑️ 일반적으로 Scipy, Pandas, matplotlib 등 다른 패키지와 함께 쓰임

▶️ import numpy as np
matplotlib ☑️ Data Visualization(시각화) 분야에서의 대표적인 파이썬 라이브러리
▶️ import matplotlib.pyplot as plt
Seaborn ☑️ matplotlib 을 기반으로 그래픽과 기능을 추가한 라이브러리
▶️ import seaborn as sns
Scikit-Learn ☑️ 머신러닝(기계학습)을 시작할 때 제일 먼저 알아야 하는 파이썬 라이브러리
☑️ 지도 학습, 비지도 학습, 모델 선택 및 평가, 등 라이브러리 6개로 구성
Data Pre-Processing, Dimensions Reduction, Regression, Classification, Clustering, Model Selection

📌지도 학습 : X 변수가 주어 졌을때 , Y 변수를 추정해내는 방법 (새로운 데이터가 나왔을때 진화가 어려움)
📌비지도 학습 : Y 가 없는 경우, 군집화, 이상치 검출
📌모델 선택 및 평가: 모델 과 Data를 fit에 넣어서 예측 모형을 만드는 과정 예측모형을 predict에 넣어서 예측
▶️ import sklearn
PyGWalker
[피아이지워커]
☑️ Kanaries에서 배포한 태블로 스타일의 파이썬 패키지
☑️ 정제된 데이터를 기반으로 데이터 EDA를 손쉽게 경험할 수 있음 [피와이지워커]
▶️ import pygwalker as pyg
Selenium ☑️ 웹 브라우저(크롬, 파이어 폭스, IE, 사파리 등등)를 콘트롤하는 Framework
☑️ Webdriver라는 API를 통해 웹 브라우저를 제어
SciPy
[싸이파이]
☑️ 과학, 수학, 엔지니어링 등에 사용되는 고급 계산 기능을 제공하는 Python 라이브러리
☑️선형 대수, 통계, 신호 처리, 최적화 등 다양한 분야의 기능 제공
▶️ import scipy
TensorFlow
[텐셔플로워]
☑️ 구글 브레인팀이 연구와 제품개발을 목적으로 만든 (대규모)머신러닝 라이브러리 ☑️ 수치계산 및 대규모 머신러닝(이미지 인식, 자연어 처리 등) 위한 오픈소스 라이브러리

 


SQL을 기초부터 공부하고 싶다면 여기를 클릭 💨

🔥 코딩테스트(코테)에 대해 궁금하다면 여기를 클릭 📑

🍀 알고리즘 코딩테스트(from 프로그래머스)에 대해 궁금하다면 여기를 클릭💨

PyCharm 과 Python 설치 방법은 여기를 클릭 📣

💐 Python 기초 실습을 하고 싶다면 여기를 클릭 📣

 

반응형