본문 바로가기
인공지능(AI)/파이썬 딥러닝 머신러닝 입문

[머신러닝 입문]-1. 판다스(Pandas) 자료구조

by LIZ0904 2021. 3. 24.
반응형

판다스(Pandas)는 머신러닝에서 데이터셋을 다룰 때 주로 사용하는 라이브러리다.

이는 데이터를 효율적으로 다루기 위해 1차원 배열 형태의 시리즈(Series) 자료구조와 2차원 배열 형태의 데이터 프레임(DataFrame) 자료구조를 지원한다.

※데이터프레임은 엑셀에서 볼 수 있는 시트(Sheet)와 동일한 개념으로, 행과 열로 만들어진다.

※시리즈는 엑셀 시트의 열 1개를 의미하며, 데이터 값의 1차원 벡터(Vector)이다. 인덱스로 각 원소를 식별한다.

즉, 데이터프레임은 1차원 벡터인 여러 개의 시리즈를 이어 붙인 형태로 2차원 구조를 갖는다.

 

 

pandas 버전 확인

판다스 라이브러리를 사용하기 위해 import 명령을 통해 불러 왔고, as 명령을 사용해 pd라는 명칭으로 사용한다. pd.__version__ 속성을 통해 판다스 패키지의 버전을 확인해봤다.

 

1차원 구조 리스트 객체

문자열을 원소로 갖는 1차원 구조의 리스트 객체를 만들어줬다. type 명령은 객체의 타입을 확인할 수 있는 명령어인데, 현재는 'list'라는 결과값이 나와있는 상태다.

 

Series 함수

Series 함수를 사용해 리스트 객체 data1을 판다스 시리즈 sr1로 변환하였다. type 함수의 결과값을 보면, 'pandas.core.series.Series' 라는 결과값이 나옴을 확인할 수 있다. 

 

문자열 인덱스 확인

시리즈 객체 sr1의 구조를 보면 문자열 데이터(a,b,c,d,e)가 숫자형 인덱스(0,1,2,3,4)와 짝을 이루고 있음이 확인 가능하다. 맨 아랫줄 dtype은 데이터 타입, object는 문자열을 의미한다.

 

loc

시리즈 객체의 원소를 추출할 때에는 loc 인덱서를 사용한다.

사용예시: sr1.loc[0]

 

범위지정 loc

범위를 지정하여 추출하는 방법도 가능하다.

사용예시: sr1.loc[1:3]

 

튜플 시리즈화

숫자 데이터로 구성된 튜플 형태의 1차원 벡터를 시리즈로 변환할 수 있다. 이전 예시에서는 dtype이 object로 나왔던 반면, 이번에는 float64(실수형 64비트)로 저장되어있다.

 

데이터프레임(DataFrame) 생성

위에서 본 1차원 배열의 시리즈를 여러개 결합하면 데이터 프레임을 만들 수 있다. 위와 같이 시리즈를 원소로 갖는 딕셔너리를 정의하고, DataFrame함수를 사용하면 된다. 딕셔너리의 key가 각 열의 이름이 되고, value가 열의 데이터로 변환된다.

 

자료형 확인

df1의 자료형을 확인해보면, 정상적으로 DataFrame 형식임을 알 수 있다.

 

columns 속성과 값 변경

열 이름은 columns 속성으로 확인하며, 이 속성을 사용해 열 이름을 변경할 수도 있다.

 

index 확인

index 속성을 사용해 인덱스 번호를 확인할 수 있다.

 

 

인덱스변경

행 인덱스를 변경할 수도 있다. 오오 이건 신기하다!

 

loc

데이터프레임의 일부분을 추출할 때에도 loc 인덱서를 사용한다.

형식: loc[행 인덱스, 열 이름]

예시: df1.lc['r2', 'number']

 

범위 지정 loc

범위 지정은 위와 같은 형식으로 하면 된다.

 

 

 

반응형

댓글