머신러닝/Pandas

판다스 기초

블루티카 2022. 4. 22. 10:41
파이썬 데이터 처리를 위한 라이브러리
  • 시리즈와 데이터프레임이라는 구조화된 데이터 형식을 제공
  • 파이썬 클래스로 만들어지고, 서로 다른 종류의 데이터를 한곳에 담는 그릇이 됨
  • 시리즈는 1차원 배열이고, 데이터프레임이 2차원 배열

판다스의 1차적인 목적

서로 다른 여러 가지 유형의 데이터를 공통의 포맷으로 정리하는 것

특히 행과 열로 이루어진 2차원 구조의 데이터프레임은 데이터 분석 실무에서 자주 사용됨.


먼저 시리즈에 대해 알아보자.

 

시리즈(Serise)란

  • 시리즈는 데이터가 순차적으로 나열된 1차원 배열의 형태
  • 인덱스는 데이터 값과 일대일 대응이 되고 키(k)와 값(v)이 '{k : v}' 형태로 짝을 이루는 딕셔너리와 비슷한 구조

 

시리즈 만들기

딕셔너리와 시리즈 구조가 비슷하기 때문에 딕셔너리를 시리즈로 변환하는 방법을 많이 사용

pandas.Serise(딕셔너리)

#Pandas 불러오기
import pandas as pd

#key:Value 쌍으로 딕셔너리를 만들고, 변수 dict_data에 저장
dict_data = {'a':1, 'b':2, 'c':3}

#판다스 Series() 함수로 dictionary를 Series로 변환. 변수 sr에 저장
sr = pd.Series(dict_data)

#sr의 자료형 출력
print(type(sr))
print('\n')

#변수 sr에 저장되어 있는 시리즈 객체를 출력
print(sr)

위 코드에 대한 실행 결과이다.

a   1
b   2
c   3
dtype: int64

 

시리즈 클래스의 index 속성을 이용하여 인덱스 배열만 따로 선택하거나, 데이터 값 배열만 따로 선택할 수 있다.

#인덱스 배열
Series객체.index

#데이터 값 배열
Series객체.values

시리즈 원소 선택

import pandas as pd

tup_data = ('영인', '2010-05-01', '여', True)
sr = pd.Series(tup_data, index = ['이름', '생년월일', '성별', '학생여부'])

print(sr)

실행 결과

이름              영인
생년월일    2010-05-01
성별               여
학생여부          True
dtype: object

인덱스로 선택 할 경우와 인덱스 라벨을 입력 했을 때

print(sr[0])
print(sr['이름'])

영인
영인

여러개의 인덱스를 리스트 형태로 입력 할 때

print(sr[[1,2]])

생년월일    2010-05-01
성별               여
dtype: object

인덱스 범위를 지정해서 선택

정수형으로 인덱스를 선택하면 마지막 범위는 포함되지 않는다.

이름을 사용하면 마지막 범위도 포함 되서 출력된다.

print(sr[1:2])
print(sr['생년월일':'성별'])

생년월일    2010-05-01
dtype: object

생년월일    2010-05-01
성별               여
dtype: object

'머신러닝 > Pandas' 카테고리의 다른 글

데이터프레임 기본 [2/2]  (0) 2022.04.27
데이터프레임 기본 [1/2]  (0) 2022.04.23