강의실/머신러닝

[딥러닝파이썬] 02-1.파이썬의 Pandas를 다뤄 보자.

파아란기쁨 2022. 5. 3. 12:12

Pandas는 파이썬 데이터 처리의 표준인 라이브러리입니다.

Pandas는 panel data의 줄임말로 데이터를 전처리 하거나 통계처리시 많이 활용하는 피봇테이블 등의 기능을 사용할때 사용하는 라이브러리로 딥러닝 공부할때 기본적으로 알아 두면 유용합니다.

판다스를 엑셀데이터를 처리하는 도구로 이해하면 간편합니다.

 

pandas 의 특징 
  • 고성능 array계산 라이브러리인 numpy와 통합하여 스프레드시트 처리기능을 제공
  • 인덱싱,연산용함수,전처리함수 등을 제공
  • 데이터처리,통계분석을 위해 사용
  • Series(1차원),DataFrame(2차원) 구조를 가지는 데이터 구조 : 딥러닝쪽에서 엑셀자료와 같이 2차원 자료 처리하는 용도로 많이 사용됨
테이블 데이터 형태의 샘플 살펴보기

출처: https://support.spatialkey.com/spatialkey-sample-csv-data/

열(Column) 을 특성(feature),속성(attribute),변수(variable),field 라고 표헌하며

행(Row)을 개체(instance),관측치(observed value),기록(record),사례(example),경우(case) 라고 표현한다.

이처럼 데이터 과학에서는 같은 내용을 표현하는 방법이 여러개 있는데 이러한 표현 방법을 익혀 두는 것이 좋을것 같네요.

데이터 로딩
import pandas as pd
data_url = 'https://support.spatialkey.com/wp-content/uploads/2021/02/Sacramentorealestatetransactions.csv'
pd_data = pd.read_csv(data_url)
print(pd_data.head()) #처음 다섯줄 출력

 

pandas의 구성

- Series : 1차원 데이터로 DataFrame 중 하나의 Column에 해당하는 값 (index와 value로 구성된 numpy 배열의 확장 객체)

- DataFrame : 데이터 전체(열과 행으로 구성된 엑셀 표와 같은 구조)

Series 사용법

- 리스트를 series로 만들기

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
series_data=Series(data=list_data)
print(series_data)

list의 값을 Series에 넣으면 ndarray로 만들어 주는데 이것은 DataFrame에서 많이 사용하기 때문에 알아 두면 편리합니다. 여기서 Series와 numpy가 다른것은 Series 에는 인덱스가 있다는 것입니다.

- 딕셔너리를 시리즈로 만드는 경우 키값이 인덱스가 됨

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
index_data=["a","b","c","d","e"]
series_data=Series(data=list_data,index=index_data) #data 와 index를 분리하여 Series를 생성
print(series_data)
dict_data={"a":1,"b":2,"c":3,"d":4}
dicseries_data=Series(data=dict_data) #딕셔너리에서 키값이 index 가 된다
print(dicseries_data)

- 데이터 인덱스 값 적용 및 접근하기

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
index_data=["a","b","c","d","e"]
series_data=Series(data=list_data,index=index_data)
series_data["a"]=6 #a의 값을 변경
print(series_data)
print(series_data["b"]) #b 인덱스값 조회

- 데이터 형변환

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
index_data=["a","b","c","d","e"]
series_data=Series(data=list_data,index=index_data)
print(series_data.dtype)
print(series_data.astype(float)) #실수형으로 형변환

- 값과 인덱스 만 추출하기

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
index_data=["a","b","c","d","e"]
series_data=Series(data=list_data,index=index_data)
print(series_data.index) #인덱스값만 출력
print(series_data.values) #값만 출력

- 시리즈는 인덱스를 기준으로 데이터 생성

from pandas import Series,DataFrame
dict_data={"a":1,"b":2,"c":3,"d":4}
index_data=["a","b","c","d","e","f"] #데이터보다 더 많은 인덱스
series_data=Series(data=dict_data,index=index_data)
print(series_data)

: 없는 데이터는 NaN 데이터 로 생성됨

 

- 시리즈에서 and 조건 사용하기

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
series_data=Series(data=list_data)
and_data1 = series_data[series_data>=2][series_data<=4]  #두가지 조건을 만족하는 데이터 추출
print(and_data1)
and_data2 = series_data[(series_data>=2)&(series_data<=4)] #두가지 조건을 만족하는 데이터 추출
print(and_data2)

 

- 시리즈에서 or 조건 사용하기

from pandas import Series,DataFrame
list_data=[1,2,3,4,5]
series_data=Series(data=list_data)
or_data2 = series_data[(series_data<=2)|(series_data>=4)] #두가지 중 한가지라도 만족하는 조건 데이터 추출
print(or_data2)


이 문서는 학생들과 함께 딥러닝 공부를 하기 위해 만든 문서이며~

딥러닝 공부 전에 Numpy와 Pandas 의 기본을 알고 머신러닝을 공부하면 대부분의 머신러닝 소스코드들을 바라보는데 이해의 폭이 넓어질 것 같아서 이론 후 실습 전에 Numpy와 Pandas 의 기본 문법들을 정리해 보았습니다.

더욱 자세한 내용은 데이터 사이언스 스쿨을 참고하시면 많은 정보를 얻으 실 수 있을것 같습니다.

 

[참고]

https://datascienceschool.net/intro.html

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기