안녕하세요. 언제나 휴일에 언휴예요.
이번 강의에서는 pandas의 기본 자료구조인 Series를 생성하는 실습입니다.
== 다루는 내용 리스트로 Series 생성 Series의 values와 index index 값도 전달하여 Series 생성 딕셔너리로 Series 생성 원소 형식이 다른 리스트로 Series 생성
pandas의 Series는 리스트의 각 항목에 이름을 부여한 자료구조라고 볼 수 있어요.
직접 코드와 실행 결과를 보면서 Look & Feel합시다.
리스트로 Series 생성
pandas의 Series를 생성할 때 리스트를 데이터로 전달할 때가 많습니다.
pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath:bool=False
다음은 성적 리스트를 입력 인자로 Series를 생성하는 코드입니다.
확인을 위해 생성한 Series 정보를 출력합니다.
import pandas as pd scores= [85,90,92,93] ps1 = pd.Series(scores) print('ps1') print(ps1)
다음 실행 결과를 보고 Series의 구조를 Look & Feel 하세요.
ps1 0 85 1 90 2 92 3 93 dtype: int64
실행 결과를 보면 성적 리스트 각 항목에 0부터 순차적으로 값을 출력하는 것을 알 수 있어요.
Series의 values와 index
이 정보를 Series에서는 index라고 부릅니다.
그리고 성적 리스트처럼 실제 데이터 부분을 values라고 부릅니다.
다음은 values와 index를 출력한 코드입니다.
print(ps1.values) print(ps1.index)
실행 결과는 다음과 같습니다.
[85 90 92 93] RangeIndex(start=0, stop=4, step=1)
index 값도 전달하여 Series 생성
Series를 생성할 때 index도 개발자가 정할 수 있습니다.
다음은 성적 리스트와 함께 index로 이름을 전달하는 예제 코드입니다.
names = ['홍길동','강감찬','임꺽정','이순신'] ps2 = pd.Series(scores,index=names) print('ps2') print(ps2) print(ps2.values) print(ps2.index)
실행 결과는 다음과 같습니다.
ps2 홍길동 85 강감찬 90 임꺽정 92 이순신 93 dtype: int64 [85 90 92 93] Index(['홍길동', '강감찬', '임꺽정', '이순신'], dtype='object')
딕셔너리로 Series 생성
딕셔너리로 Series를 생성할 수도 있어요.
이 때 딕셔너리의 키 부분은 index, 값 부분은 values입니다.
다음은 딕셔너리로 Series를 생성하는 예제 코드입니다.
pd3 = pd.Series(td) print('ps3') print(pd3) print(pd3.values) print(pd3.index)
실행 결과는 다음과 같습니다.
ps3 홍길동 85 강감찬 90 임꺽정 92 이순신 93 dtype: int64 [85 90 92 93] Index(['홍길동', '강감찬', '임꺽정', '이순신'], dtype='object')
원소 형식이 다른 리스트로 Series 생성
자주 발생하지는 않겠지만 원소 형식이 다른 리스트로 Series를 생성할 수도 있어요.
datas = [1,'abc',True,34.5] ps4 = pd.Series(datas) print('ps4') print(ps4) print(ps4.values) print(ps4.index)
실행 결과는 다음과 같습니다.
ps4 0 1 1 abc 2 True 3 34.5 dtype: object [1 'abc' True 34.5] RangeIndex(start=0, stop=4, step=1)