Python

Pandas,인덱싱

화이팅하자9 2023. 10. 15. 18:44

Pandas(Panel Datas)

  1. 다양한 파일 형식 지원
  2. 데이터 정제 및 조작에 특화된 라이브러리
    • 데이터 이상치, 결측치, 중복 제거 등 다양한 기능을 제공
    • 데이터 필터링, 병합,피벗 등을 지원하여 복잡한 데이터를 손쉽게 분석
  3. DataFrame, Series 자료 구조 지원
    • DataFrame : 2차원 이상
    • Series : 1차원
    • ndarray를 활용하여 만든 자료 구조이기 때문에 Numpy Library와 상호작용 뛰어남
  4. import pandas as pd

데이터 정제 및 조작 가능

1. 데이터 이상치,결측치,중복제거등 필요한 기능 제공

2. 데이터 필터링,병합,피벗등을 지원하여 복잡한 데이터 쉽게 분석 가능

 

 

예시1)

pop = pd.Series([9668465, 3391946, 2642828, 1450062], 
index=['서울','부산','인천','광주'])

----------------
서울    9668465
부산    3391946
인천    2642828
광주    1450062
dtype: int64

copy()
파이썬은 사실 모든 자료가 "객체"형태임
같은 객체를 가리키게 되서 원본 유지가 안됨
그래서 copy()함수 사용해서 복제본 만들고 원본 유지

pop2 = pop.copy() 
pop2[2]=1
print(pop2)
-------------
서울    9668465
부산    3391946
인천          1
광주    1450062
dtype: int64

pop
----------------
서울    9668465
부산    3391946
인천    2642828
광주    1450062
dtype: int64

 

확인하기

Series 인덱스명 확인
pop.index

Series 값 확인
display(pop.values) <-- display 써도 되고 안써도 되고
display(pop.array)

Series 자료형 확인
type(pop)

 

이름 저장

pop.name='인구'
pop

-----------
서울    9668465
부산    3391946
인천    2642828
광주    1450062
Name: 인구, dtype: int64
pop.index.name = '도시'
pop

-------------
도시
서울    9668465
부산    3391946
인천    2642828
광주    1450062
Name: 인구, dtype: int64

예시)

인덱싱

도시
서울    9668465
부산    3391946
인천    2642828
광주    1450062
Name: 인구, dtype: int64

Series 인덱싱
pop[1],pop['부산'] => (3391946, 3391946)

Series 다중인덱싱
print(pop[[0,3,1]]) <- 그러나 0,1,2,3 모두 다 쓰게되면 error

=>
도시
서울    9668465
광주    1450062
부산    3391946
Name: 인구, dtype: int64