1 분 소요

Pandas (series)

Series 사용

index - value 로만 이루어진 Series 데이터 타입을 사용해보자

생성

import pandas as pd


series1 = pd.Series([10,20,30,40])
series1
0    10
1    20
2    30
3    40
dtype: int64

시리즈 타입은 데이터에 한 가지 데이터 타입만을 허용한다.
만약 위 코드에서 ‘50’ 이라는 문자열 데이터를 입력하게 되면 전체 데이터 타입은 Object 타입으로 자동 변환된다.

인덱스 포함 생성

series1 = pd.Series([10,20,30,40],index=['일','이','삼','사'],name='테스트')
series1
일    10
이    20
삼    30
사    40
Name: 테스트, dtype: int64

index를 별도로 초기화 해줄 수 있다.
별로 지정해주지 않는다면 1부터 정수로 순서에 따라 인덱스가 부여된다.
또한 name= 을 통해 데이터에 이름을 추가해줄 수 있다.

딕셔너리 형태로 생성

series2 = pd.Series({'Name':'윤정호', 'job':'학생', '희망 연봉' : '2억', '거주지': '수원'}, name='profile')
series2
Name     윤정호
job       학생
희망 연봉     2억
거주지       수원
Name: profile, dtype: object

딕셔너리의 키 값이 데이터의 index로, 밸류 값이 데이터의 값으로 들어가게 된다.

데이터 연산

print(series1.sum())
print(series1.mean())
100
25.0

pandas는 numpy의 연산 함수가 사용 가능하다.

Series 인덱싱

s3 = {1:'테스트1', 2: '테스트2',3:'테스트3'}
series3 = pd.Series(s3)

print(series3[1:3]) # 슬라이싱을 사용한 인덱싱


print(series2['거주지'])
print(series3[1])
2    테스트2
3    테스트3
dtype: object
수원
테스트1

Series는 인덱스를 이용해 데이터를 호출 할 수 있다.
슬라이싱을 이용하게 되면 지정한 인덱스가 아닌 데이터 구조상 인덱스를 기준으로 index, value 모든 값을 출력한다.

series2 =='윤정호'
Name      True
job      False
희망 연봉    False
거주지      False
Name: profile, dtype: bool

데이터 값을 기준으로 일치 여부에 따라 boolean 값을 받을 수 있다.
이를 이용한 인덱스 또한 가능하다.

series2[series2 =='윤정호']
Name    윤정호
Name: profile, dtype: object

Series의 기본적인 사용법을 알아보았다.
실제 업무 프로세스에서 쓰이는 데이터는 series의 구조보다는 대부분 Data Frame의 구조로 사용 된다.
그러므로 짧게 마무리 해보겠당

댓글남기기