본문 바로가기
  • hello world
Language/Python

[Python] Pandas

by JJoajjoa 2023. 8. 25.

 

 

import pandas as pd

 

pd : pandas 다 쓰기 귀찮아서 줄인 것 (국룰), 다른 문자도 되긴 함

 

 

 

Pandas 판다스

계량 경제학에서 사용되는 용어인 Panel data의 앞글자를 따서 지어짐

데이터 분석 및 조작을 위한 라이브러리 (numpy 기반)

CSV, Excel, SQL쿼리 등 다양한 데이터 연산 가능

numpy는 같은 데이터 타입의 배열만 처리할 수 있음

 

 

https://pandas.pydata.org/docs/user_guide/index.html

 

User Guide — pandas 2.1.4 documentation

User Guide The User Guide covers all of pandas by topic area. Each of the subsections introduces a topic (such as “working with missing data”), and discusses how pandas approaches the problem, with many examples throughout. Users brand-new to pandas sh

pandas.pydata.org

 

 

 

 

# 종류

 

Series : 라벨을 갖는 1차원 배열구조

s = pd.Series([1, 3, 4, np.nan, 6, 8])
print(s)
print(s[3], " <<")
s = pd.Series([1, 3, 4, np.nan, 6, 8], index=['A','B','C','D','E','F'])
print(s)
print(s['C'], " <<<<")

 

왼쪽 위와 같이 데이터를 출력하면 index가 함께 표시 되는데 이는 데이터 생성시 자동으로 만들어진 것

np.nan <<<  데이터가 없다면 numpy에서 특정원소 없다는 것을 알려줄 수 있음

                    데이터를 위한 자리(index)는 있지만 실제 값은 없다는 뜻

오른쪽 위와 같이 인덱스를 지정해 줄 수도 있음

 

 


 

 

 

DataFrame : 라벨을 갖는 2차원 배열구조

data = {
    'Name' : ['짱구', '철수', '훈이'],
    'Age' : [5, 5, 5]
}
df = pd.DataFrame(data)

print(df)
print(df['Name'])
print(df.loc[0])

 

 

 

 

 

 

 

 

 

 

 

 

# 특별한 기능

 

연산 · 집계함수

메서드 설 명
.sum()
.mean() 평균 ( axis=1: 행계산 //  axis= 0: 열계산, 기본값)
.std() 표준편차
.var() 분산
.max() 최댓삾
.min() 최솟값
.cumsum() 누적 합
.cumprod() 누적 곱
.describe() 총 갯스, 평균, 표준편차, 최솟값, 최댓값 등을 한번에 구해줌

 

 

 

 

date_range() : 날짜 자동 생성

pd.date_range(start=None, end=None, periods=None, freq="D")
start  시작날짜 start는 반드시 필요
end  끝날짜 end나 periods는 둘 중 하나만 있어도
periods  날짜 데이터 생성 기간 : 몇개 만들건지 end나 periods는 둘 중 하나만 있어도
freq  날짜 데이터 생성 주기  freq는 입력하지 않으면 기본값 D (Day 하루) 

 

freq 예시

D 하루 (2D 이틀)

W 일주일

M 한달 (4M 네달)

H 한시간 (2H 두시간)

T, min 일분 (10T 10분, 30min 30분)

S 일초 (10S 10초)

 

 

# groupby

- 데이터 특징 조건에 따라 그룹으로 분류하는 함수

 

 

 

 

# 데이터 통합

- 여러개의 데이터셋을 결합해서 단일 데이터셋으로 만든다

 

 

concat

- 동일한 열 이름을 가진 여러 데이터 프레임을

행방향(axis=0)이나 열방향(axis=1)으로 결합할때 사용

 

 

 

merge

- 공통된 열 혹은 인덱스 기준으로 통합된다

 

 

join

-인덱스 기반 결합작업

왼쪽으로 조인

how(내부inner, 외부outer, 왼쪽left, 오른쪽right)