호쌤
호쌤 Just For Fun

[Python 데이터 분석] Pandas 소개, Series 자료형

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[Python 데이터 분석] Pandas 소개, Series 자료형≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

[Python 데이터 분석] Pandas 소개, Series 자료형

Pandas란? 데이터 분석, 처리 등을 쉽게 하도록 만들어진 python package로서 대용량 데이터를 보다 쉽고 안정적으로 처리할 수 있다고도 알려져 있습니다.

#01. Pandas 개요

1) Pandas 설치

1
pip install --upgrade pandas

upgrade는 이미 설치되어 있는 경우 삭제하고 최신버전으로 재설치

2) Pandas의 자료구조

Pandas 패키지는 두 개의 자료구조를 제공한다.

종류 설명
Series value와 index의 형태를 지니는 1열로 구성된 자료 구조이다.
DataFrame 여러 개의 Dictionary를 처리하는데 있어 Series보다 보기 편한 형태의 자료 구조이다. 엑셀의 표 모양을 생각하면 쉽다.

pandas

#02. 필요한 모듈 참조

pandas 패키지에서 Series 클래스를 가져온다.

1
2
from pandas import Series
from matplotlib import pyplot

#03. Series 객체 생성하기

Series 클래스의 생성자 파라미터로 리스트나 Numpy 배열을 전달한다.

리스트, 튜플 –> Numpy 배열 –> Series 순서로 업그래이드 된다고 이해하자.
역순으로 다운그래이드도 가능함.

리스트(혹은 배열)과 다른점은 리스트의 경우 인덱스가 개념적으로만 존재하지만 Series는 인덱스가 명시적으로 존재한다.

1) 리스트 데이터 확인

1
2
items = [10,30,50,70,90]
items
▶ 출력결과
1
[10, 30, 50, 70, 90]

2) 리스트 데이터를 Series로 가공

1
2
column = Series(items)
column
▶ 출력결과
1
2
3
4
5
6
0    10
1    30
2    50
3    70
4    90
dtype: int64

#03. Series 데이터에 접근하기

1) 인덱스를 활용한 개별 값 확인

1
2
3
print(column[0])
print(column[2])
print(column[4])
▶ 출력결과
1
2
3
10
50
90

2) 시리즈의 값들만 추출

타입을 확인하면 Numpy 배열임을 알 수 있다.

1
2
3
v = column.values
print(type(v))
v
▶ 출력결과
1
2
<class 'numpy.ndarray'>
array([10, 30, 50, 70, 90], dtype=int64)

3) 시리즈의 값들을 저장하고 있는 numpy 배열을 list로 변환

1
2
3
value_list = list(v)
print(type(value_list))
value_list
▶ 출력결과
1
2
<class 'list'>
[10, 30, 50, 70, 90]

4) 시리즈의 값들을 리스트로 직접 변환

1
2
3
value_list2 = list(column.values)
print(type(value_list2))
value_list2
▶ 출력결과
1
2
<class 'list'>
[10, 30, 50, 70, 90]

5) 시리즈의 색인(index)만 추출

1
2
3
i = column.index
print(type(i))
i
▶ 출력결과
1
2
<class 'pandas.core.indexes.range.RangeIndex'>
RangeIndex(start=0, stop=5, step=1)

6) 시리즈의 색인(index)을 list로 변환

1
2
3
index_list = list(i)
print(type(index_list))
index_list
▶ 출력결과
1
2
<class 'list'>
[0, 1, 2, 3, 4]

7) 시리즈 객체 시각화

index는 x축이 되고 value는 y축이 된다.

1
2
3
pyplot.figure()
pyplot.plot(column)
pyplot.show()
▶ 출력결과

png

#05. 조건에 따른 데이터 접근

1) 특정 조건에 맞는 항목들만 추출

아래의 형식으로 특정 조건에 맞는 값들을 추출할 수 있다.

1
객체이름[객체이름에 대한 조건식]

30초과인 항목들만 추출

1
2
in1 = column[column > 30]
in1
▶ 출력결과
1
2
3
4
2    50
3    70
4    90
dtype: int64

2) AND 조건

대괄호[]를 조건의 수 만큼 나열한다.

7이하 and 1초과인 항목들만 추출

1
2
in2 = column[column <= 70][column > 10]
in2
▶ 출력결과
1
2
3
4
1    30
2    50
3    70
dtype: int64

3) OR 조건

대괄호[] 안에 각 조건을 소괄호()로 묶고 파이프라인|으로 구분한다.

10이하 or 70이상인 항목들만 추출 -> ()필수

1
2
in3 = column[(column <= 10) | (column >= 70)]
in3
▶ 출력결과
1
2
3
4
0    10
3    70
4    90
dtype: int64

#06. 인덱스를 직접 지정하여 Series 객체 만들기

1
2
week1 = Series([290000, 310000], index=['토', '일'])
week1
▶ 출력결과
1
2
3
토    290000
일    310000
dtype: int64
1
2
week2 = Series([120000, 220000], index=['일','토'])
week2
▶ 출력결과
1
2
3
일    120000
토    220000
dtype: int64

#07. 시리즈 객체의 사칙연산

index가 동일한 항목끼리 연산이 수행된다.

1
2
결과값 = week1 + week2
결과값
▶ 출력결과
1
2
3
일    430000
토    510000
dtype: int64
Rating:

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[Python 데이터 분석] Pandas 소개, Series 자료형≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

comments powered by Disqus